我已经将应用程序迁移到log4j 2,并通过log4j2.xml对其进行了配置
但是,我正在使用的某些库取决于log4j1。如果我使用以下命令运行该应用程序:
-Dlog4j.configurationFile=path/to/log4j2.xml
log4j 1抱怨找不到配置文件。我正在使用log4j 2,log4j-1.2-api-2.0-rc1.jar提供的log4j 1.x桥。是否可以使用单个log4j2.xml进行配置?
我尝试过的替代方法是同时配置log4j和log4j2:
-Dlog4j.configurationFile=path/to/log4j2.xml -Dlog4j.configuration=path/to/log4j.xml
我担心的是我的日志记录配置文件和输出的碎片。我还担心log4j.xml和log4j2.xml之间可能发生冲突。例如,日志文件error.log配置为在log4j 1中使用FileAppender,在log4j 2中使用RollingFileAppender。
有什么建议吗?
[注意]
这是我看到的错误:
log4j:WARN No appenders could be found for logger (org.apache.activemq.util.ThreadPoolUtils).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
我正在使用的log4j 2版本是log4j 2.0 rc1。
[回答]
好像activemq-5.8.0.jar与log4j 1捆绑在一起。解决方案是简单地在activemq之前加载log4j 1.x网桥。
我建议使用log4j2分发中包含的log4j-1.2适配器。这样,任何编码为log4j-1.2 API的库都可以与log4j2一起使用,而无需进行任何代码更改。
您的类路径应包括:
你的类路径应该不包括:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句