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/