yangjin_12306
yangjin_12306
采纳率0%
2018-01-15 12:42 阅读 4.1k

log4j2.xml配置是读取当前项目的,还是引用的jar包里面的配置?

10

当前应用A(log4j2.xml配置)为一个web接口,引用了jar包B和C,其中B和C的包中都配置了log4j2.xml,
那么当A启动后,代码运行到B或者C当中的某个打印日志语句时候读取的是B/C的配置,还是当前A的配置?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • caozhy 从今以后生命中的每一秒都属于我爱的人 2018-01-15 15:37

    默认是classpath下的那个 https://www.bbsmax.com/A/QV5ZQMVJyb/

    点赞 1 评论 复制链接分享
  • yangjin_12306 yangjin_12306 2018-01-16 03:07

    @caozhy 是当前A下面的classpath还是自己jar包里面的classpath?

    点赞 评论 复制链接分享
  • qq_15259781 花匠小林 2018-01-16 03:47

    看看官方的解释:https://logging.apache.org/log4j/2.x/manual/configuration.html

    1. 若系统设置了log4j.configurationFile属性,则会使用该属性指定的配置文件。
    2. 否则在classpath下查找log4j2-test.properties
    3. 否则在classpath下查找log4j2-test.yamllog4j2-test.yml
    4. 否则在classpath下查找log4j2-test.jsonlog4j2-test.jsn
    5. 否则在classpath下查找log4j2-test.xml
    6. 否则在classpath下查找log4j2.properties
    7. 否则在classpath下查找log4j2.yamllog4j2.yml
    8. 否则在classpath下查找log4j2.jsonlog4j2.jsn
    9. 否则在classpath下查找log4j2.xml
    10. 如果找不到配置文件,将使用默认配置。即把日志记录输出到控制台。
    点赞 评论 复制链接分享
  • bz151531223 牛坛子 2018-01-16 10:08
    1. 看你的配置文件如何去扫描的,如果扫描的情况是classpath*的话,那么应该是都要去读取;
    2. 如果只是设置了classpath主要去读取A中的配置,jar中的配置不生效;
    点赞 评论 复制链接分享

相关推荐