加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – log4j2日志记录发生在错误的路径上

发布时间:2020-12-15 00:36:39 所属栏目:Java 来源:网络整理
导读:我在weblogic中部署了一个ear,并将log4j2.xml logPath设置为 Property name="logPath"some_path_1Property 和记录器定义为 Logger name="a.b.c.d" level="INFO" / 在这个ear / lib里面有一个包含log4j2.xml的jar,logPath属性定义为 Property name="logPath"s
我在weblogic中部署了一个ear,并将log4j2.xml logPath设置为
<Property name="logPath">some_path_1<Property>

和记录器定义为

<Logger name="a.b.c.d" level="INFO" />

在这个ear / lib里面有一个包含log4j2.xml的jar,logPath属性定义为

<Property name="logPath">some_path_2<Property>

和一个包装结构非常相似的记录器

<Logger name="a.b.c" level="INFO" />

log4j2.xml都配置为具有不同的日志文件名.
但两者的日志都在路径some_path_2中,并且在该jar中定义了文件名

如何确保两个日志记录输出按照定义单独进行?

我的耳朵结构就像

ear
|--lib
|--|--abc.jar
|--|--|--log4j2.xml //the one thats getting loaded
|--xyz.war
|--|--WEB-INF
|--|--|--classes
|--|--|--|--log4j2.xml // the one I want

Edit1:我在包含war的web.xml中添加了以下内容,但它没有帮助

<context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>/WEB-INF/classes/log4j2.xml</param-value>
    </context-param>

编辑2:我也试过这个,发现这是间歇性的

ear
|--lib
|--|--abc.jar
|--|--|--log4j2.xml //the one thats getting loaded
|--|--xyz.jar
|--|--|--log4j2.xml //the one I want.. works but not always.Does classloader loads the jars alphabetically?
|--xyz.war
|--|--WEB-INF
|--|--|--classes
|--|--|--|--log4j2.xml // the one I want

解决方法

Log4j仅使用log4j引导程序首次找到的配置文件初始化一次.将不考虑所有其他(可能存在的)配置文件.在相应的教程中了解有关log4j自动配置优先级的更多信息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读