SpringBoot項(xiàng)目nohup啟動(dòng)運(yùn)行日志過大的解決方案
SpringBoot項(xiàng)目nohup啟動(dòng)運(yùn)行日志過大
如下SpringBoot啟動(dòng)命令
nohup java -Xmx2048m -Xms2048m -jar springboot-demo.jar >>./log.los 2>&1 &
使用這條命令啟動(dòng)會(huì)導(dǎo)致日志文件和jar包同級(jí),并且隨著日積月累,越來越大。最終撐爆目錄。
臨時(shí)解決辦法
如果日志已經(jīng)撐爆了你的盤符,可以使用echo > access.log在日志文件寫入一個(gè)空,如果直接rm -rf log.log會(huì)導(dǎo)致日志不正常打印(不會(huì)影響到logback等框架的日志打?。?。
解決辦法
1、使用日志框架,例如logback.xml,配置打印最近三個(gè)月或六個(gè)月的日志,超過時(shí)間的會(huì)自動(dòng)刪除。
2、將日志指定一個(gè)黑洞目錄,使得本地不打印此日志:
nohup java -Xmx2048m -Xms2048m -jar springboot-demo.jar >>/dev/null 2>&1 &
這樣不會(huì)影響logback日志的正常打印。
SpringBoot項(xiàng)目nohup運(yùn)行按日期拆分日志
springboot打包成jar后,通常放于linux使用nohup來執(zhí)行,如:↓
nohup java -jar PACKAGE_NAME.jar > LOGFILE_NAME 2>&1 &
但是弊端是產(chǎn)生的日志文件只有一個(gè),且會(huì)越來越大
這里介紹一個(gè)linux工具:cronolog(文件分割工具)
下載地址:https://pkgs.org/download/cronolog
如何使用
使用yum安裝cronolog
yum install cronolog -y
修改jar包啟動(dòng)命令
nohup java -jar PACKAGE_NAME.jar | cronolog ./catalina-%Y-%m-%d.out >> /dev/null 2>&1 &
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java/Spring項(xiàng)目的包開頭為什么是com詳解
這篇文章主要介紹了Java/Spring項(xiàng)目的包開頭為什么是com的相關(guān)資料,在Java中包命名遵循域名反轉(zhuǎn)規(guī)則,即使用公司的域名反轉(zhuǎn)作為包的前綴,以確保其全球唯一性和避免命名沖突,這種規(guī)則有助于邏輯分層、代碼可讀性提升和標(biāo)識(shí)代碼來源,需要的朋友可以參考下2024-10-10Java實(shí)現(xiàn)在正則表達(dá)式中控制大小寫的方法
這篇文章主要介紹了Java實(shí)現(xiàn)在正則表達(dá)式中控制大小寫的方法,結(jié)合實(shí)例形式分析了java正則表達(dá)式中傳遞控制參數(shù)的功能與相關(guān)操作技巧,需要的朋友可以參考下2017-04-04SpringBoot異步使用@Async的原理以及線程池配置詳解
在項(xiàng)目中當(dāng)訪問其他人的接口較慢時(shí),不想程序一直卡在耗時(shí)任務(wù)上,想程序能夠并行執(zhí)行,我們可以使用多線程來并行的處理任務(wù),也可以使用spring提供的異步處理方式@Async,這篇文章主要給大家介紹了關(guān)于SpringBoot異步使用@Async的原理以及線程池配置的相關(guān)資料2021-09-09解決idea 通過build project 手動(dòng)觸發(fā)熱部署失敗的問題
在debug運(yùn)行項(xiàng)目的過程中,并且保證(不添加方法,不修改方法名)一定的規(guī)則的情況下,可以通過build project 來手動(dòng)熱部署項(xiàng)目,本文給大家介紹解決idea 通過build project 手動(dòng)觸發(fā)熱部署失敗的問題,感興趣的朋友一起看看吧2023-12-12Java設(shè)計(jì)模式之模板方法模式Template Method Pattern詳解
在我們實(shí)際開發(fā)中,如果一個(gè)方法極其復(fù)雜時(shí),如果我們將所有的邏輯寫在一個(gè)方法中,那維護(hù)起來就很困難,要替換某些步驟時(shí)都要重新寫,這樣代碼的擴(kuò)展性就很差,當(dāng)遇到這種情況就要考慮今天的主角——模板方法模式2022-11-11Java中AIO、BIO、NIO應(yīng)用場(chǎng)景及區(qū)別
本文主要介紹了Java中AIO、BIO、NIO應(yīng)用場(chǎng)景及區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06