Tomcat Logging With Slf4j and Log4j
Solution 1
try including the jcl-over-slf4j as a dependency. myfaces is probably using commons-logging.
check the slf4j docs: http://www.slf4j.org/legacy.html#jcl-over-slf4j
Solution 2
It looks like the StateUtils class is using java.util.logging (jul). It stands to reason that other myfaces classes also use jul. Thus, you would probably want to funnel jul logs through SLF4J. Have a look at bridging legacy APIs, in particular the jul-to-slf4j
bridge.
Please see SLF4JBridgeHandler javadocs for usage instructions when installing jul-to-slf4j
.
Solution 3
Configure your tomcat server according to the steps described at http://adfinmunich.blogspot.de/2012/03/how-to-configure-tomcat-to-use-slf4j.html. This blog entry describes how to replace java.util.logging by slf4j (using log4j behind the facade).
user935265
Updated on July 29, 2022Comments
-
user935265 almost 2 years
I've got a web-app deployed to a
Tomcat 7
server. My application useslog4j
and afile appender
. However, not all logging messages are getting written to the file.On my classpath, I have:
log4j-1.2.14.jar slf4j-api-1.6.1.jar slf4j-log4j12-1.6.1.jar
My
log4j.properties
file is working fine on my local machine and is deploy properly.I see application generated error messages being written to
catalina.out
that are not getting written to mylog4j log
. The log messages incatalina.out
look to be coming from some other logging framework because the output pattern is in a different format than mylog4j
pattern. The logging that I'm seeing in thecatalina.log
is like:Nov 4, 2011 11:05:31 AM org.apache.myfaces.shared_impl.util.StateUtils reconstruct SEVERE
And my log4j pattern is like:
2011-11-03 16:42:09,336 ["http-bio-8080"-exec-13] ERROR
Some logging appears in my
log4j
file log, but not all of it. From what I've read,slf4j
just needs those jars for it to funnel log output. Any ideas?