Log4j似乎正在跳过一个特定包的日志条目 - 尽管配置

时间:2011-11-15 16:17:38

标签: java log4j

我在一个给我带来麻烦的特定类中添加了一堆日志记录,增加了 log4j.properties 文件,并期望看到大量的调试信息。

虽然我但是看到更多信息来自一个特定类的消息 - 我最感兴趣的消息 - 似乎完全没有了。

奇怪的是,我从测试服务器复制了 log4j.properties 文件 - 确实输出正确的信息到生产服务器 - 它们完全相同。 / p>

以下是 log4j.properties 的内容:

log4j.debug=false

log4j.rootLogger=INFO, S

log4j.category.com.communitect=DEBUG, F1, S
log4j.additivity.com.communitect=false

log4j.appender.F1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.F1.DatePattern='.'yyyy-MM-dd
log4j.appender.F1.File=${catalina.base}/logs/smilereminder_log
log4j.appender.F1.layout=org.apache.log4j.PatternLayout
log4j.appender.F1.layout.ConversionPattern=%d %5p [%t] (%c{2}) - %m%n

log4j.appender.S=org.apache.log4j.ConsoleAppender
log4j.appender.S.layout=org.apache.log4j.PatternLayout
log4j.appender.S.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n

该文件位于我的Tomcat安装的 lib 目录中。

我看到没有的包是:

package com.communitect.business;

我声明记录器的方式是:

static private final Logger logger = Logger.getLogger( PersonalReminderRules.class );

此类中的所有消息都显示在我的测试服务器上,因此我知道 log4j.properties 文件应该工作得很好。

我四处寻找其他 log4j.properties 文件,但似乎没有。也没有 .xml 配置文件。

有些东西在逃避我。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

@oers,好主意,谢谢! :)

以下是我们找到的解决方案:

因此,似乎 appVoice WebApp上下文中包含 log4j.jar 。删除它似乎解决了这个问题。

我假设将webapps加载的类“覆盖”最初加载的类,并因此使用全新的配置。