使用Logback日誌儲存到相對路徑的操作
說明
在使用Logback中需要儲存輸出日誌,但是卻在儲存的時候路徑出現問題
專案背景
1、Win7
2、Java Web + Tomcat 7.0(在D盤目錄下)
3、Logback 1.1.7
案例一
Logback.xml檔案配置
<!-- 路徑名稱 --> <property name="log.base" value="logs" /> <!-- 儲存的檔名 --> <property name="log.fileName" value="log" />
注意:value=“logs”
如果是以這種方式配置,那麼日誌檔案則儲存到在專案啟動的目錄下,
即 D:\tomcat7.0\bin\logs\log.txt
案例二
Logback.xml檔案配置
<!-- 路徑名稱 --> <property name="log.base" value="/logs" /> <!-- 儲存的檔名 --> <property name="log.fileName" value="log" />
注意:value=“/logs”
如果是以這種方式配置,那麼日誌檔案則儲存到系統目錄下,
即 D:\logs\log.txt
案例三
Logback.xml檔案配置
<!-- 路徑名稱 --> <property name="log.base" value="../logs" /> <!-- 儲存的檔名 --> <property name="log.fileName" value="log" />
注意:value=“../logs”
如果是以這種方式配置,那麼日誌檔案則儲存到系統目錄下,
即 D:\tomcat7.0\logs\log.txt
總結
檔案相對儲存路徑設定可分以下三種:
1. value=“logs” – 表示儲存到程式執行目錄,在tomcat中為bin目錄
2. value=“/logs” – 表示儲存到系統目錄
3. value=“../logs” – 表示儲存到程式執行目錄的父目錄
補充知識:logback-spring.xml中三種相對路徑生成的日誌檔案的位置
logback-spring.xml中關於路徑配置的三種寫法:
寫法1:<property name="log.path" value="logs" />
寫法2:<property name="log.path" value="/logs" />
寫法3:<property name="log.path" value="../logs" />
專案(路徑D:\workspace\Test)啟動的三種場景:
場景1:專案所在workspace在D盤,直接從eclipse中啟動
場景2:打成jar包放在桌面的test資料夾下,用bat檔案(java -jar Test.jar)啟動
場景3:jar檔案放在centOS的/test目錄下,用sh檔案(nohup java -jar Test.jar &)啟動
場景1 |
場景2 |
場景3 |
|
寫法1 |
D:\workspace\Test\logs\{name} |
C:\Users\{user}\Desktop\logs\{name} |
/test/logs/{name} |
寫法2 |
D:\logs\{name} |
C:\logs\{name} |
/logs/{name} |
寫法3 |
D:\workspace\logs\{name} |
C:\Users\{user}\logs\{name} |
/logs/{name} |
注:路徑中的{user}為C盤中當前使用者目錄名稱,{name}為配置檔案中的${log.name}即日誌檔名稱
以上這篇使用Logback日誌儲存到相對路徑的操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。