1.將log4j配置打包在jar之外並調用的方法
默認情況下,log4j會自動加載classloader下的log4j.properties或 log4j.xml文件。所以一般沒有特殊要求,只需要將默認文件名的配置文件置於src目錄下(web程序還可以放在WEB-INF下面)。
對於單機程序,打包後配置文件會同class一起打到jar中,不利於通過修改配置來改變日誌記錄方式。
我們可以在項目中建立文件夾conf來放置配置文件,然後程序啓動時採用以下方式來告訴log4j配置文件的路徑
- //------程序初始化階段----
- //讀取配置
- String currentDir = System.getProperty("user.dir");
- PropertyConfigurator.configure(currentDir+"/conf/log4j.properties");
- //如果是xml配置
- //DOMConfigurator.configure(currentDir+"/conf/log4j.xml");
- //此外還可以調用configureAndWatch監聽配置的變動並重新加載。
- //-----log調用-------
- Log dbLog = LogFactory.getLog("dbLog");
- if(dbLog.isErrorEnabled()){ // 先判斷log級別再調用,減少不必要的代碼執行。
- dbLog.error("test db log");
- }