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