使用单个log4j2 xml文件配置log4j2和log4j

 多米音乐_34473808 发布于 2023-01-18 18:37

我已将我的应用程序迁移到log4j 2,并且我已通过log4j2.xml进行了配置

但是,我使用的一些库依赖于log4j 1.如果我使用以下命令运行应用程序:

-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之间可能存在冲突.例如,logfile 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桥.

1 个回答
  • 我建议使用log4j2发行版中包含的log4j-1.2适配器.这样,任何编码到log4j-1.2 API的库都可以使用log4j2而无需更改代码.

    您的类路径应包括:

    log4j的-API-2.6.1.jar

    log4j的核心 - 2.6.1.jar

    的log4j-1.2-API-2.6.1.jar

    log4j2.xml

    你的类路径应该包括:

    log4j的-1.2.x.jar

    log4j.properties或log4j.xml(无论如何都会被log4j2忽略)

    另见http://logging.apache.org/log4j/2.x/faq.html#which_jars

    2023-01-18 18:39 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有