Uploaded image for project: 'Log4j 2'
  1. Log4j 2
  2. LOG4J2-359

Log4jServletContextListener does not work on Weblogic 12.1.1 (12c) with web-app version "2.5"

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.0-beta8
    • 2.0-rc1
    • None
    • None

    Description

      I have Weblogic 12c running. My web-app is version "2.5".

      Following is a snippet from my web.xml

      <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      	xmlns="http://java.sun.com/xml/ns/javaee"
      	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
      	id="WebApp_ID" version="2.5">
      	<display-name>pec-service</display-name>
      	<context-param>
      		<param-name>log4jConfiguration</param-name>
      		<param-value>file:/C:/log4j/dev.log4j.xml</param-value>
      	</context-param>
      
      	<listener> 
      		<listener-class>org.apache.logging.log4j.core.web.Log4jServletContextListener</listener-class> 
      	</listener>	
      
      	<filter>
      		<filter-name>log4jServletFilter</filter-name>
      		<filter-class>org.apache.logging.log4j.core.web.Log4jServletFilter</filter-class> 
      	</filter>
      	<filter-mapping>
      		<filter-name>log4jServletFilter</filter-name> 
      		<url-pattern>/*</url-pattern>
      		<dispatcher>REQUEST</dispatcher>
      		<dispatcher>FORWARD</dispatcher> 
      		<dispatcher>INCLUDE</dispatcher>
      		<dispatcher>ERROR</dispatcher>
      	</filter-mapping>
      	
      </web-app>
      

      However, on my server startup I am getting the following error -

      <Aug 16, 2013 3:12:32 PM PDT> <Warning> <HTTP> <BEA-101162> <User defined listener org.apache.logging.log4j.core.web.Log4jServletContextListener failed: java.lang.IllegalStateException: Context destroyed before it was initialized..
      java.lang.IllegalStateException: Context destroyed before it was initialized.
      	at org.apache.logging.log4j.core.web.Log4jServletContextListener.contextDestroyed(Log4jServletContextListener.java:51)
      	at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:583)
      	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
      	at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
      	Truncated. see log file for complete stacktrace
      > 
      <Aug 16, 2013 3:12:32 PM PDT> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID "1376691143681" for task "2". Error is: "weblogic.application.ModuleException"
      weblogic.application.ModuleException
      	at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1708)
      	at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:781)
      	at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:213)
      	at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:208)
      	at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:35)
      	Truncated. see log file for complete stacktrace
      Caused By: java.lang.NullPointerException
      	at org.apache.logging.log4j.core.web.Log4jServletContainerInitializer.onStartup(Log4jServletContainerInitializer.java:44)
      	at weblogic.servlet.internal.WebAppServletContext.initContainerInitializer(WebAppServletContext.java:1271)
      	at weblogic.servlet.internal.WebAppServletContext.initContainerInitializers(WebAppServletContext.java:1229)
      	at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1726)
      	at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2740)
      	Truncated. see log file for complete stacktrace
      > 
      <Aug 16, 2013 3:12:32 PM PDT> <Error> <Deployer> <BEA-149202> <Encountered an exception while attempting to commit the 7 task for the application "_auto_generated_ear_".> 
      <Aug 16, 2013 3:12:32 PM PDT> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating start task for application "_auto_generated_ear_".> 
      <Aug 16, 2013 3:12:32 PM PDT> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
      weblogic.application.ModuleException
      	at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1708)
      	at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:781)
      	at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:213)
      	at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:208)
      	at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:35)
      	Truncated. see log file for complete stacktrace
      Caused By: java.lang.NullPointerException
      	at org.apache.logging.log4j.core.web.Log4jServletContainerInitializer.onStartup(Log4jServletContainerInitializer.java:44)
      	at weblogic.servlet.internal.WebAppServletContext.initContainerInitializer(WebAppServletContext.java:1271)
      	at weblogic.servlet.internal.WebAppServletContext.initContainerInitializers(WebAppServletContext.java:1229)
      	at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1726)
      	at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2740)
      	Truncated. see log file for complete stacktrace
      

      If I remove the listener & the filter, it works fine.


      I did some research and found that even though the web-app is version "2.5", the

      Log4jServletContainerInitializer
      is getting invoked.

      Attachments

        1. LOG4J2-359.patch
          3 kB
          Abhinav Shah
        2. Log4jServletContainerInitializer.java
          2 kB
          Abhinav Shah
        3. Log4jServletContainerInitializerTest.java
          4 kB
          Abhinav Shah

        Issue Links

          Activity

            People

              beamerblvd Nick Williams
              abhinav.shah@gmail.com Abhinav Shah
              Votes:
              3 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: