[
https://issues.apache.org/jira/browse/LOG4J2-1606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Volkan Yazici reopened LOG4J2-1606:
-----------------------------------
> log4j-web deinitalizes the Logger too early if listeners defined in web.xml
> use it
> -----------------------------------------------------------------------------------
>
> Key: LOG4J2-1606
> URL: https://issues.apache.org/jira/browse/LOG4J2-1606
> Project: Log4j 2
> Issue Type: Bug
> Components: Web/Servlet
> Affects Versions: 2.6.2
> Environment: Java8, Linux/Mac, Tomcat
> Reporter: Lukas Vogel
> Priority: Major
> Fix For: 2.14.1
>
>
> We use log4j in a Apache Tomcat environment.
> In the web.xml file we define a custom ServerStartup listener that
> initializes the DB etc and logs both in contextInitialized and
> contextDestroyed.
> If we use the log4j-web package the class Log4jServletContainerInitializer
> initializes the logger and adds a Log4jServletContextListener to the
> ServletContext. Since this listener is added after our listener the method
> Log4jServletContextListener#contextDestroyed is called before our listener's
> contextDestroyed method. Thus the Logger is de-initialized too early.
> We could disable auto initialization and initialize the logger ourselves but
> then doing it in the listener is too late since the WebService-framework
> (Metro glassfish) initializes the webservice endpoints before the listener.
> Since we use static logger variables in those webservice classes this would
> trigger the message "StatusLogger no log4j configuration found..." because
> the logger was not yet initialized.
> One possible patch we see is that we make an option to manually add the
> Log4jServletContextListener:
> In Log4jServletContainerInitializer we would put an "if (! Manually added)"
> around the call "servletContext.addListener(new
> Log4jServletContextListener());" and then we could manually add it to the
> listeners in web.xml
> If you have any other suggestions I would be glad to hear them.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)