記一次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的位置指向該項目中的日志文件。之后日志可以正常輸出

總結:

  一個項目一定要配置好日志文件的位置,保證其唯一性不被其他框架或工具類默認的日志文件覆蓋。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM