[英]Tomcat Logging With Slf4j and Log4j
我有一个部署到Tomcat 7
服务器的Web应用程序。 我的应用程序使用log4j
和file appender
。 但是,并非所有日志消息都写入文件。
在我的课程中,我有:
log4j-1.2.14.jar
slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.1.jar
我的log4j.properties
文件在我的本地计算机上正常运行并正确部署。
我看到写入catalina.out
应用程序生成的错误消息没有写入我的log4j log
。 catalina.out
的日志消息看起来来自其他一些日志记录框架,因为输出模式的格式与我的log4j
模式不同。 我在catalina.log
看到的日志记录如下:
Nov 4, 2011 11:05:31 AM org.apache.myfaces.shared_impl.util.StateUtils reconstruct
SEVERE
我的log4j模式如下:
2011-11-03 16:42:09,336 ["http-bio-8080"-exec-13] ERROR
某些日志记录显示在我的log4j
文件日志中,但不是全部日志记录。 从我读过的内容slf4j
, slf4j
只需要那些用于漏斗日志输出的jar。 有任何想法吗?
看起来StateUtils类正在使用java.util.logging(jul)。 按理说其他myfaces类也使用jul。 因此,您可能希望通过SLF4J汇集jul日志。 看看桥接遗留API ,特别是jul-to-slf4j
桥。
安装jul-to-slf4j
时,请参阅SLF4JBridgeHandler javadocs以获取使用说明。
根据http://adfinmunich.blogspot.de/2012/03/how-to-configure-tomcat-to-use-slf4j.html中描述的步骤配置tomcat服务器。 此博客条目描述了如何通过slf4j替换java.util.logging(使用外观后面的log4j)。
尝试将jcl-over-slf4j作为依赖项。 myfaces可能正在使用commons-logging。
检查slf4j文档: http ://www.slf4j.org/legacy.html#jcl-over-slf4j
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.