預設指定logback日誌位置
阿新 • • 發佈:2019-04-24
平常我們在使用logback作為日誌框架的時候,如果我們不指定日誌的絕對路徑,就會在我們的當前目錄(user.dir)下面生成日誌檔案,平常我們在開發階段只要制定一個log目錄就好了,但是如果在生產環境,如果不是在jar所在的路徑啟動就會導致生產的檔案位置不確定,所以我們可以通過在jar 啟動的時候在初始化類的地方制定一個系統變數。然後在logback 的配置檔案裡面載入這個變數就好。這樣無論在哪裡啟動我們的程式,程式都會在jar 所在的目錄生成一個日誌目錄
private static Logger logger; static { String path = Run.class.getProtectionDomain().getCodeSource().getLocation().getPath(); File file = new File(path); String parent = file.getParent(); System.setProperty("app.dir", parent); //一定要在set agent.dir 後面,在前面就會導致agent.dir的引數沒有生效 public static void main(String[] args) { }
<!-- agent.dir 為agent 可執行jar 所在路徑-->
<property name="LOG_HOME" value="${app.dir}/log