log4j.properties - 从输出中删除classname

时间:2014-06-18 21:33:31

标签: java log4j

我想使用log4j日志记录从INFO的输出日志记录消息中删除时间戳和类名。现在,似乎我的程序没有使用ConversionPattern布局行,因为该行甚至没有引用C,它将是拥有logger对象的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

我希望它看起来像这样:

[主要] INFO

1 个答案:

答案 0 :(得分:2)

我认为加载了错误的“log4j.properties”文件,因为输出甚至与您的配置不匹配。

URL logConfigUrl = ClassLoader.getSystemResource("log4j.properties");

加载类搜索路径上的FIRST“log4j.properties”。一些包含“log4j.properties”的罐子/目录可能已经在您的课程之前加载。要验证加载了哪个log4j.properties,可以打印出URL。

要配置所需的输出,您需要:

log4j.appender.stdout.layout.ConversionPattern=[%t] %-5p: %m%n