Re: Unable to config/init logging separation for web app on Tomcat 7.0.82
Arbi Sookazian <[email protected]> Tue, 29 Apr 2025 08:55:21 -0700 (PDT)
| Newsgroups | gmane.comp.jakarta.log4j.user |
|---|---|
| Message-ID | <[email protected]> |
--=_262dfb1c-db9c-46e1-8245-c3d320397eb6
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Sorry, just realized a possibly important detail. In dev envmt, I am using slf4j-api-2.0.6.jar, in QA we are using slf4j-api-1.7.25.jar.When log4j2.debug was enabled in previous testing, I see the following logging/notes:DEBUG StatusLogger Building Plugin[name=logger, class=org.apache.logging.log4j.core.config.LoggerConfig].
DEBUG StatusLogger createLogger(additivity="false", level="TRACE", name="org.springframework", includeLocation="null", ={LogToRollingFile, Console}, ={}, Configuration(jar:file:/C:/sw/apache-tomcat-7.0.84/webapps/base/WEB-INF/lib/base.jar!/log4j2.xml), Filter=null)
DEBUG StatusLogger Registering MBean org.apache.logging.log4j2:type=66fbd5ea,component=Loggers,name=org.springframework
SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.
SLF4J: Class path contains SLF4J bindings targeting slf4j-api versions 1.7.x or earlier.
SLF4J: Ignoring binding found at [jar:file:/C:/sw/apache-tomcat-7.0.84/shared/log4j-slf4j-impl-2.9.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See https://www.slf4j.org/codes.html#ignoredBindings for an explanation.
I will enable same debug logging and test again. Perhaps the version of the slf4j-api-*.jar needs to be matched/upgraded in QA envmt.The log4j*.jar files are identical in dev and QA $CATALINA_HOME/shared dir:log4j-1.2-api-2.9.1.jar
log4j-api-2.9.1.jar
log4j-core-2.9.1.jar
log4j-jcl-2.9.1.jar
log4j-slf4j-impl-2.9.1.jar
log4j-web-2.9.1.jar
Arbi Sookazian | Sr Software Engineer | Medata, Inc.
5 Peters Canyon Road, Suite 250
Irvine, CA 92606
[email protected] | www.medata.com
----- Original Message -----
From: Arbi Sookazian <[email protected]>
To: [email protected]
Sent: Tue, 29 Apr 2025 08:22:12 -0700 (PDT)
Subject: Unable to config/init logging separation for web app on Tomcat 7.0.82
body {height: 100%; color:#000000; font-size:12pt; font-family:arial,helvetica,sans-serif;}Hi,
I have been able to successfully configure and log separately for multiple web apps deployed to same Tomcat 7.0.84 container in dev environment (Windows 11 w/ cygwin). Now trying to do the same testing in QA environment with Tomcat 7.0.82 (Linux) and having issue below at startup. I doubt it has anything to do with differing OS.
Please advise what is wrong or is it possibly a JAR mismatch in $CATALINA_HOME/shared dir wrt log4j-*.jar files or slf4j-*.jar files between the two environments. log4j-web-2.9.1.jar is in shared dir. Thanks.
INFO: Deploying web application directory /opt/apache/testing-apache-tomcat-7.0.82/webapps/testing2DEBUG StatusLogger Log4jServletContextListener ensuring that Log4j starts up properly.
DEBUG StatusLogger getConfigURI found resource [jndi:/localhost/testing2/WEB-INF/classes/log4j2.xml] in servletContext at [./WEB-INF/classes/log4j2.xml]
WARN StatusLogger Potential problem: Selector is not an instance of NamedContextSelector.
We have double checked the configs in web.xml and the log4j2.xml as well as log4j2.component.properties. Everything looks correct/expected in the QA setup.
Contents of log4j2.component.properties:
log4j2.enableJndiContextSelector=true
Log4jContextSelector=org.apache.logging.log4j.core.selector.JndiContextSelector
Contents of web.xml added snippet (added above <listener> section):
<context-param>
<param-name>isLog4jAutoInitializationDisabled</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>isLog4jContextSelectorNamed</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>log4jContextName</param-name>
<param-value>testing2</param-value>
</context-param>
<context-param>
<param-name>log4jConfiguration</param-name>
<param-value>./WEB-INF/classes/log4j2.xml</param-value>
</context-param>
<env-entry>
<env-entry-name>log4j/context-name</env-entry-name>
<env-entry-value>testing2</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
<listener>
<listener-class>org.apache.logging.log4j.web.Log4jServletContextListener</listener-class>
</listener>
<filter>
<filter-name>log4jServletFilter</filter-name>
<filter-class>org.apache.logging.log4j.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>
Arbi Sookazian | Sr Software Engineer | Medata, Inc.
5 Peters Canyon Road, Suite 250
Irvine, CA 92606
[email protected] | www.medata.com
--=_262dfb1c-db9c-46e1-8245-c3d320397eb6--