Logback日志存放路徑不統(tǒng)一解決方案
問題:
將一個應(yīng)用程序打成了Jar包后,使用命令運行jar包,發(fā)現(xiàn)日志存放的路徑并不統(tǒng)一:
- 比如 hello.jar 包放在 /aaa/bbb 目錄下
- 如果在 /aaa/bbb 目錄下執(zhí)行:java -jar hello.jar ,那么日志就會存放在 /aaa/bbb 目錄下
- 如果在 /aaa 目錄下執(zhí)行:java -jar bbb/hello.jar ,那么日志就會存放在 /aaa 目錄下
如何才能不同位置執(zhí)行jar包,但是日志放到一個統(tǒng)一的目錄中呢?
解決過程:
查看logback.xml中與日志路徑相關(guān)的部分如下:
<timestamp key="bySecond" datePattern="yyyyMMdd'-'HHmmss"/> <appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>result-${bySecond}.log</file> <append>true</append> <encoder> <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern> </encoder> </appender>
<file>result-${bySecond}.log</file>指定了存放日志的名稱,是result-yyyyMMdd-HHmmss.log格式
其實這里也可以指定路徑的,比如:<file>/home/xxx/logs/result-${bySecond}.log</file>
如果能夠把這個絕對路徑配置一下就好了,而且是在程序外部,這樣方便了打成jar包以后也能配置
比如:<file>${logback.home}/result-bySecond.log</file>,在外部指定{logback.home}就可以
“隨著通用日志組件轉(zhuǎn)入 Slf4j,logback 也變成了默認(rèn)的日志實現(xiàn),像 log4j 一樣,logback.xml 中也可以使用系統(tǒng)屬性或環(huán)境變量,如 ${catalina.home}。”
既然logback是可以使用系統(tǒng)屬性的,那就可以使用java -D 配置系統(tǒng)屬性啊
如下:java -Dlogback.home="/home/xxx/logs" -jar hello.jar
問題解決!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot整合rabbitMq自定義消息轉(zhuǎn)換方式
這篇文章主要介紹了SpringBoot整合rabbitMq自定義消息轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09java計算方差、標(biāo)準(zhǔn)差(均方差)實例代碼
在本篇文章里小編給大家分享了關(guān)于java計算方差、標(biāo)準(zhǔn)差(均方差)實例代碼以及相關(guān)知識點,需要的朋友們可以參考下。2019-08-08Java技巧分享之利用RxJava打造可觀測數(shù)據(jù)RxLiveData
這篇文章主要來和大家分享一個Java技巧,那就是利用RxJava打造可觀測數(shù)據(jù)RxLiveData,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-06-06spring boot參數(shù)驗證注解@NotNull、@NotBlank和@NotEmpty區(qū)別解析
使用spring boot參數(shù)驗證是常常會使用@NotNull、@NotBlank和@NotEmpty三個判斷是否不為空的注解,中文都有不能為空的意思,大部分使用者都傻傻分清它們之間到底有什么區(qū)別,今天就讓咱們來一起探索它們之間的不同吧,感興趣的朋友一起看看吧2024-05-05如何對?Excel?表格中提取的數(shù)據(jù)進行批量更新
這篇文章主要介紹了如何對Excel表格中提取的數(shù)據(jù)進行批量更新操作,本文通過示例代碼介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-06-06