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

最佳答案

您正在加载的类(或其依赖项)可能确实使用log4j并在其static初始化块中调用log4j初始化。您可能会在某个地方放置一个断点,以找出究竟是谁在重新初始化log4j。

关于java - Log4j在程序中间重新初始化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28946297/

10-14 15:47