Log4j在程序中间重新初始化

时间:2015-03-09 15:53:17

标签: java logging log4j

Log4j在程序中间重新初始化

嗨,我观察了log4j的奇怪行为 我加载一个类后,似乎重新初始化自己 反思电话,完全与它无关。然后停止 从控制台运行时打印。在Eclipse里面没问题。

看起来像土拨鼠日:)

由于

-Dlog4j.debug已开启。在一开始:

log4j: Using URL [file:log4j.properties] ...
log4j: Reading configuration from URL file:/log4j.properties
log4j: Hierarchy threshold set to [ALL].
log4j: Parsing for [root] with value=[,console,file].
log4j: Parsing appender named "console".

然后,再次,在程序的中间:

log4j: Hierarchy threshold set to [ALL].
log4j: Parsing for [root] with value=[,console,file].
log4j: Parsing appender named "console".
log4j: Parsing layout options for "console".

log4j.properties很简单:

log4j.threshold=ALL
log4j.rootLogger=,console,file

#define standard out appender
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.threshold=INFO
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS} [%t] %-5p %c{1}[%L]: %m%n

#define 1st file appender
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.threshold=INFO
log4j.appender.file.File=logs/out.log
log4j.appender.file.append=false
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS} [%t] %-5p %c{1} : %m%n

1 个答案:

答案 0 :(得分:0)

您正在加载的类(或其依赖项)可能使用log4j并在其static初始化块中调用log4j初始化。你可以在某处找一个断点来找出究竟是谁正在重新初始化log4j。