所有log4j appender都在log4j.properties中定义

时间:2014-07-10 14:29:04

标签: java logging log4j appender

我的log4j.properties文件粘贴在下面。我的理解是我们需要将Appender添加到 root 记录器以使appender工作。正如您在下面的属性文件中所看到的,只有appender A附加到根记录器(log4j.rootLogger = info,A)。但是,我看到的是日志信息被打印到两个appender(ConsoleAppender-A和File Appender-B)。这怎么可能?

log4j.rootLogger=info, A
log4j.appender.A=org.apache.log4j.ConsoleAppender
log4j.appender.A.layout=org.apache.log4j.PatternLayout
log4j.appender.A.layout.ConversionPattern=%-4r [%t] [rid=%X{RID} ] %-5p %c %x - %m%n

log4j.appender.B=org.apache.log4j.FileAppender
log4j.appender.B.layout=org.apache.log4j.PatternLayout
log4j.appender.B.file=target/server.log
log4j.appender.B.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

1 个答案:

答案 0 :(得分:0)

好吧,事实证明Console appender(A)正在打印到server.log(glassfish日志),顺便提一下,它也是与appender B关联的日志文件的名称。

以下属性附加到glassfish服务器(启动参数),这有助于我了解哪些log4j.properties(在存在杂散属性文件的情况下)文件与诸如用于记录的appender之类的信息一起加载。

-Dlog4j.debug=true