• 记一次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的位置指向该项目中的日志文件。之后日志可以正常输出

    总结:

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

    不积跬步无以至千里
  • 相关阅读:
    PyCharm 的使用(二)
    redis数据库
    mysql大全
    Python 模块详解及import本质
    logging模块
    redis详细配置
    千万 PV,百万PV什么意思?
    elasticsearch集群添加节点
    elasticsearch集群安全重启节点
    记一次redis-cluster的切换
  • 原文地址:https://www.cnblogs.com/showme1942/p/7560197.html
Copyright © 2020-2023  润新知