1. 程式人生 > >預設指定logback日誌位置

預設指定logback日誌位置

平常我們在使用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