zoukankan      html  css  js  c++  java
  • 记一次Log4j2日志无法输出的 心酸史

    问题描述:部分日志无法输出到日志文件中。

      项目中的代码:

        @Resource
        private ConfigInfo configInfo;
    
        private static final Logger logger = Logger.getLogger(UdmpUtil.class);
    
        @PostConstruct
        public void initialize() {
            try {
    logger.info("log write...."); UdmpConfig.init(configInfo.getUdmp_path()); }
    catch (IOException e) { logger.info("init failed @UdmpUtil_Exception", e); } }

    以上代码段是可以输出到日志文件中的。

    分析:

      带有 @PostConstruct 标签的代码块中的logger.info 方法是可以输出日志 并写入到日志文件中。但是其他业务层的logger.info方法却不能。证明日志的xml文件应该是没有问题的

    解决:

     通过源码分析后发现加载的日志配置文件不是项目中的日志配置文件,项目中的一个jar在启动的时候自己加载了其默认的log.xml文件,导致项目中的log.xml文件无法加载。

    在引入的jar文件中配置了其log4j.xml的位置指向该项目中的日志文件。之后日志可以正常输出

    总结:

      一个项目一定要配置好日志文件的位置,保证其唯一性不被其他框架或工具类默认的日志文件覆盖。

    不积跬步无以至千里
  • 相关阅读:
    卡特兰数
    poj3461 字符串匹配 熟悉kmp算法第一题
    hdu1018
    poj 1088
    Linux / OS X 实用命令
    Mac/Linux 定时运行命令行
    在Mac安装Scheme
    如何判断无向图有环
    Prime算法生成最小生成树
    无向图的深度优先与广度优先搜索代码实现
  • 原文地址:https://www.cnblogs.com/showme1942/p/7560197.html
Copyright © 2011-2022 走看看