1. 程式人生 > >Log4j2指定配置檔案路徑

Log4j2指定配置檔案路徑

上一文中,我們學習瞭如何利用Log4j2來幫助我們更加優雅的打日誌。在專案編譯成jar包正式上線的時候,作者遇到了一個問題,就是log4j2.xml將會被打包到jar中,不能再上線後隨時更改。

為了能讓專案上線後,根據不同的需要改變一些日誌的配置資訊,如:日誌輸出路徑,日誌輸出級別等,我們需要對log4j配置檔案的載入進行一些變化。對此,可以通過log4jConfigurationSouce來指定配置檔案位置,並載入。

ConfigurationSource source;
String relativePath = "log4j2.xml";
String filePath = CONFIG_PATH + System.getProperty("file.separator"
) + relativePath; File log4jFile = new File(filePath); try { if (log4jFile.exists()) { source = new ConfigurationSource(new FileInputStream(log4jFile), log4jFile); Configurator.initialize(null, source); log = (Logger) LogManager.getLogger("LOGGER_NAME"); log.debug("this is a debug"
); log.info("this is a info"); //..... } else { logInited = false; System.out.println("loginit failed"); System.exit(1); } } catch (Exception e) { e.printStackTrace(); System.exit(0); }

這樣,我們只需要將配置檔案放置到CONFIG_PATH路徑下,命名為log4j2.xml即可成功載入,如果專案有需要,可以隨時更改。