Logback日志存放路徑不統(tǒng)一解決方案
問(wèn)題:
將一個(gè)應(yīng)用程序打成了Jar包后,使用命令運(yùn)行jar包,發(fā)現(xiàn)日志存放的路徑并不統(tǒng)一:
- 比如 hello.jar 包放在 /aaa/bbb 目錄下
- 如果在 /aaa/bbb 目錄下執(zhí)行:java -jar hello.jar ,那么日志就會(huì)存放在 /aaa/bbb 目錄下
- 如果在 /aaa 目錄下執(zhí)行:java -jar bbb/hello.jar ,那么日志就會(huì)存放在 /aaa 目錄下
如何才能不同位置執(zhí)行jar包,但是日志放到一個(gè)統(tǒng)一的目錄中呢?
解決過(guò)程:
查看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格式
其實(shí)這里也可以指定路徑的,比如:<file>/home/xxx/logs/result-${bySecond}.log</file>
如果能夠把這個(gè)絕對(duì)路徑配置一下就好了,而且是在程序外部,這樣方便了打成jar包以后也能配置
比如:<file>${logback.home}/result-bySecond.log</file>,在外部指定{logback.home}就可以
“隨著通用日志組件轉(zhuǎn)入 Slf4j,logback 也變成了默認(rèn)的日志實(shí)現(xiàn),像 log4j 一樣,logback.xml 中也可以使用系統(tǒng)屬性或環(huán)境變量,如 ${catalina.home}?!?/p>
既然logback是可以使用系統(tǒng)屬性的,那就可以使用java -D 配置系統(tǒng)屬性啊
如下:java -Dlogback.home="/home/xxx/logs" -jar hello.jar
問(wèn)題解決!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot整合rabbitMq自定義消息轉(zhuǎn)換方式
這篇文章主要介紹了SpringBoot整合rabbitMq自定義消息轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09java計(jì)算方差、標(biāo)準(zhǔn)差(均方差)實(shí)例代碼
在本篇文章里小編給大家分享了關(guān)于java計(jì)算方差、標(biāo)準(zhǔn)差(均方差)實(shí)例代碼以及相關(guān)知識(shí)點(diǎn),需要的朋友們可以參考下。2019-08-08Java使用DFA算法實(shí)現(xiàn)敏感詞過(guò)濾的示例代碼
很多項(xiàng)目中都會(huì)有一個(gè)敏感詞管理模塊,本文主要介紹了Java使用DFA算法實(shí)現(xiàn)敏感詞過(guò)濾的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03Java技巧分享之利用RxJava打造可觀測(cè)數(shù)據(jù)RxLiveData
這篇文章主要來(lái)和大家分享一個(gè)Java技巧,那就是利用RxJava打造可觀測(cè)數(shù)據(jù)RxLiveData,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-06-06spring boot參數(shù)驗(yàn)證注解@NotNull、@NotBlank和@NotEmpty區(qū)別解析
使用spring boot參數(shù)驗(yàn)證是常常會(huì)使用@NotNull、@NotBlank和@NotEmpty三個(gè)判斷是否不為空的注解,中文都有不能為空的意思,大部分使用者都傻傻分清它們之間到底有什么區(qū)別,今天就讓咱們來(lái)一起探索它們之間的不同吧,感興趣的朋友一起看看吧2024-05-05如何對(duì)?Excel?表格中提取的數(shù)據(jù)進(jìn)行批量更新
這篇文章主要介紹了如何對(duì)Excel表格中提取的數(shù)據(jù)進(jìn)行批量更新操作,本文通過(guò)示例代碼介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-06-06mybatis單元測(cè)試過(guò)程(無(wú)需啟動(dòng)容器)
在MyBatis中,單元測(cè)試無(wú)需啟動(dòng)容器即可進(jìn)行,主要涉及Configuration類、Executor接口及其實(shí)現(xiàn)類,以及XMLMapperBuilder的作用,Configuration類是配置的承載者,負(fù)責(zé)初始化并解析配置文件,Executor接口及其實(shí)現(xiàn)類2024-09-09