Log4j 在程序中间重新初始化自己
Log4j re-initializes itself in the middle of the program
Log4j 在程序中间重新初始化自身
嗨,我观察到一个奇怪的行为,其中 log4j
在我通过 class 加载后似乎重新初始化
反射调用,与它完全无关。然后它停止
从控制台打印 运行。在 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
您正在加载的 class(或其依赖项)本身可能确实使用了 log4j 并在其 static
初始化块中调用了 log4j 初始化。您或许可以在某处放置一个断点,以查明究竟是谁在重新初始化 log4j。
Log4j 在程序中间重新初始化自身
嗨,我观察到一个奇怪的行为,其中 log4j 在我通过 class 加载后似乎重新初始化 反射调用,与它完全无关。然后它停止 从控制台打印 运行。在 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
您正在加载的 class(或其依赖项)本身可能确实使用了 log4j 并在其 static
初始化块中调用了 log4j 初始化。您或许可以在某处放置一个断点,以查明究竟是谁在重新初始化 log4j。