【发布时间】:2011-11-04 16:30:08
【问题描述】:
我有一个网络应用程序部署到 Tomcat 7 服务器。我的应用程序使用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 只需要这些罐子就可以汇集日志输出。有什么想法吗?
【问题讨论】:
-
您可以尝试使用名为“log4j-over-slf4j-1.6.1.jar”的 slf4j jar,而不是名为“log4j-1.2.14.jar”的 log4j jar
-
log4j-over-slf4j.jar 是 log4j 的替代品。提问者不想替换 log4j。 DwB,我建议您删除您的评论,因为它具有误导性。