【发布时间】:2014-06-18 21:33:30
【问题描述】:
我想使用 log4j 日志从 INFO 的输出日志消息中删除时间戳和类名。现在,我的程序似乎没有使用 ConversionPattern 布局行,因为该行甚至没有引用 C,它是拥有记录器对象的 Java 类。
log4j.properties 是这样加载的:
URL logConfigUrl = ClassLoader.getSystemResource("log4j.properties");
PropertyConfigurator.configure(logConfigUrl);
这是我的 log4j.properties 文件内容:
log4j.rootLogger=INFO, stdout
log4j.rootLogger=ERROR, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
现在,输出如下所示:
14:24:17.387 [main] INFO com.nim.tools.recontool.ReconTool
我希望它看起来像这样:
[主要]信息
【问题讨论】:
-
可能是 log4j.properties 文件没有正确加载。我会先尝试调整一些参数,比如日志级别,看看是否有任何效果。
-
我很确定它加载正确,但我会检查
-
它是这样加载的,所以我怀疑它可能加载不正确,否则会抛出错误 URL logConfigUrl = ClassLoader.getSystemResource("log4j.properties"); PropertyConfigurator.configure(logConfigUrl);