1. 程式人生 > >Java在Jar包中初始化log4j的方法

Java在Jar包中初始化log4j的方法

應用環境:

使用Java框架寫了一個程式,使用log4j作為日誌記錄的工具,將該程式匯出為獨立jar包執行。

問題:

在使用java -jar test.jar命令執行jar包時,當使用下面程式碼列印log時,

public static Logger logger = Logger.getLogger(Test.class);

logger.info("start");

出現如下WARN資訊:
log4j:WARN No appenders could be found for logger (org.springframework.core.env.
StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.

原因:

在使用logger之前沒有對log4j進行必要的初始化。

分析:

由於jar包不像war包,只要在classpath存在log4j.properties檔案,就會自動載入配置檔案進行初始化。

jar包中需要手動對log4j進行初始化。

方法:

import org.apache.log4j.PropertyConfigurator;

PropertyConfigurator.configure("log4j.properties");
結果:

在jar包當前路徑下存放配置檔案log4j.properties,執行jar包就可以正常列印log了。