Java在Jar包中初始化log4j的方法
阿新 • • 發佈:2019-02-19
應用環境:
使用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了。