繁体   English   中英

Tomcat使用Slf4j和Log4j进行日志记录

[英]Tomcat Logging With Slf4j and Log4j

我有一个部署到Tomcat 7服务器的Web应用程序。 我的应用程序使用log4jfile 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文件日志中,但不是全部日志记录。 从我读过的内容slf4jslf4j只需要那些用于漏斗日志输出的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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM