国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Linux 如何處理tomcat/springboot進程控制臺日志

這篇具有很好參考價值的文章主要介紹了Linux 如何處理tomcat/springboot進程控制臺日志。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

應用場景

Tomcat catalina.out其實是tomcat的標準輸出(stdout)和標準出錯(stderr),這是在tomcat的啟動腳本里指定的,如果沒有修改的話stdout和stderr會重定向到這里。所以我們在應用里使用System.out打印的東西都會到這里來。另外,如果我們在應用里使用其他的日志框架,配置了向Console輸出的,則也會在這里出現(xiàn)。

如果Tomcat的catalina.out的大小超過了2G,那么tomcat可能在沒有錯誤提示的情況下崩潰、無法啟動。所以為了避免出現(xiàn)這個問題,我們應該每天分割catalina.out。

Springboot啟動腳本中輸出了應用日志nohup java -jar [jvm param] xxx.jar 2 >&1 > nohup.out,并且在logback中配置了輸出到控制臺,這樣會導致所有的應用日志都會輸出到nohup.out。

隨著時間的累計控制臺日志回越來越大,我們可以從以下幾點進行處理,防止出現(xiàn)控制臺日志大量輸出導致磁盤溢出。

方案

1.禁止輸出到控制臺中

① 刪除項目中所有的system.out.print[ln]
② springboot 可以在logback/log4j中禁止輸出到控制臺
③ springboot啟動腳本修改為 nohup java -jar [jvm param] xxx.jar 2 >&1 > /dev/null,將進程日志輸出到空文件中。

2.使用logrotate切割、壓縮、刪除過期文件

logrotate是一個Linux上的日志文件輪換工具,它可以自動輪換日志文件并保留歷史日志,防止磁盤被日志文件填滿。

使用logrotate可以將日志文件按時間或大小等規(guī)則切割成多個文件,同時可以刪除或壓縮舊日志文件,避免磁盤空間占用過高。

logrotate的配置文件通常在/etc/logrotate.conf/etc/logrotate.d目錄下,通過配置文件可以指定需要輪換的日志文件、輪換規(guī)則、保存歷史日志的數(shù)量等參數(shù)。
logrotate可以周期性地執(zhí)行輪換任務,可以手動執(zhí)行logrotate來立即輪換日志文件,也可以通過systemdtimer來定時執(zhí)行。
總的來說,logrotate是一個非常實用的日志處理工具,能夠有效地管理Linux系統(tǒng)中的日志文件,保障系統(tǒng)的穩(wěn)定運行。

簡單配置樣例:
首先在/etc/logrotate.d/目錄創(chuàng)建一個tomcat文檔,內(nèi)容如下:

/data/apache-tomcat-9.0.13/logs/catalina.out
{
    copytruncate
    daily   
    rotate 10
    compress   
    missingok   
    size 16M  
}

配置說明:

compress:啟用日志文件壓縮。被切割的日志文件將以.gz的擴展名進行壓縮保存。
delaycompress:延遲壓縮。在下一次輪轉(zhuǎn)周期時,才對前一個周期的日志文件進行壓縮。
nocompress:禁用壓縮。不對切割的日志文件進行壓縮處理。
copytruncate:將當前日志文件進行備份后,截斷原始日志文件,使其從頭開始。通常用于不支持日志文件重新打開的程序。
nocopytruncate:禁用copytruncate選項,不進行備份和截斷操作。
create:創(chuàng)建一個新的空日志文件,以替代被切割的日志文件。
nocreate:禁用create選項,不創(chuàng)建新的日志文件。
ifempty:如果日志文件為空,也進行切割。否則,不進行切割。
notifempty:只有當日志文件非空時,才進行切割。
daily:按每天為周期進行日志文件的切割。
weekly:按每周為周期進行日志文件的切割。
monthly:按每月為周期進行日志文件的切割。
yearly:按每年為周期進行日志文件的切割。
rotate count:保留的切割文件數(shù)量。默認情況下,logrotate會保留最近的count個切割文件,其他文件將被刪除。
maxsize size:設置日志文件的最大大小。當日志文件達到指定的大小時,將觸發(fā)切割。
minsize size:設置日志文件的最小大小。當日志文件小于指定的大小時,將不觸發(fā)切割。
dateext:為每個切割文件添加日期擴展。切割文件將使用日期作為后綴。
dateformat format:自定義日期擴展的格式。可以使用%Y(年份)、%m(月份)、%d(日期)等占位符。

以上是常見的logrotate配置選項,可以根據(jù)需要進行組合和配置。配置文件通常位于/etc/logrotate.conf或/etc/logrotate.d/目錄下。每個日志文件都需要一個單獨的配置條目,可以在配置文件中添加多個條目來處理不同的日志文件。配置完成后,logrotate將按照指定的規(guī)則自動管理和切割日志文件。

自動切割:

每天晚上,cron daemon會自動執(zhí)行/etc/cron.daily目錄下的任務。
這個會觸發(fā)/etc/cron.daily/logrotate文件,logrotate一般是隨linux安裝的,它會執(zhí)行這個命令-“/etc/sbin/logrotate /etc/logrotate.conf”(注意空格)。
/etc/logrotate.conf 包含了/etc/logrotate.d目錄下的所有腳本。這個會觸發(fā)上一步寫的/etc/logrotate.d/tomcat文件。

手動切割:
執(zhí)行以下語句來手動運行cron任務

/usr/sbin/logrotate /etc/logrotate.conf
# 或
logrotate -vf /etc/logrotate.d/tomcat 

3.自定義處理
可以使用Java、shell來切割,但這樣存在很多風險,要考慮IO、文件權(quán)限、壓縮大小、清理日期等等。既然有開源工具咱就用起來,不要重復造輪子。當然除非現(xiàn)有的工具已經(jīng)滿足不了你的需求。文章來源地址http://www.zghlxwxcb.cn/news/detail-562279.html

到了這里,關于Linux 如何處理tomcat/springboot進程控制臺日志的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • IDEA啟動tomcat控制臺中文亂碼問題

    IDEA啟動tomcat控制臺中文亂碼問題

    IntelliJ IDEA是很多程序員必備且在業(yè)界被公認為最好的Java開發(fā)工具,有很多小伙伴在安裝完IDEA并且tomcat之后,啟動tomcat會出現(xiàn)控制臺中文亂碼問題,如下圖所示: 具體解決步驟: 一、修改當前 Web 項目 Tomcat Server 的虛擬機輸出選項 二、修改 IntelliJ IDEA 全局編碼、項目編碼、

    2024年02月11日
    瀏覽(134)
  • 關于Tomcat控制臺輸出亂碼的若干問題

    關于Tomcat控制臺輸出亂碼的若干問題

    ? 在學習Maven、Tomcat的過程中,發(fā)現(xiàn)會在不同的地方出現(xiàn)中文亂碼,原本以為是某個設置沒有正確,所以,出現(xiàn)亂碼。后來發(fā)現(xiàn),需要在不同的地方來進行調(diào)整,才能保證Tomcat在控制臺的輸出,以及Maven過程在參數(shù)傳遞過程中都不會出現(xiàn)亂碼。第一次寫文章,不怎么會寫,大

    2024年02月09日
    瀏覽(152)
  • 對于pycharm 運行的時候不在cmd中運行,而是在python控制臺運行的情況,如何處理?

    對于pycharm 運行的時候不在cmd中運行,而是在python控制臺運行的情況,如何處理?

    對于pycharm 運行的時候不在cmd中運行,而是在python控制臺運行的情況,如何處理? 比如,你在運行你的代碼的時候 它總在python控制臺運行,十分難受 在pycharm中設置下即可,很簡單 選擇運行 點擊編輯配置 將使用python控制臺運行勾掉 點擊保存即可!

    2024年02月11日
    瀏覽(23)
  • 記一次Tomcat控制臺弱口令爆破事件應急響應

    記一次Tomcat控制臺弱口令爆破事件應急響應

    某內(nèi)部應急演練中,安全部門在安全設備上觀察到大量Tomcat控制臺登錄請求,現(xiàn)需根據(jù)流量情況進行安全事件分析。 Apache Tomcat是Apache 軟件基金會的一款中間件。其中Manager App控制臺容易被攻擊者利用,通過弱口令爆破或者默認口令登錄。 控制臺頁面存在Deploy功能,且可以通

    2024年02月11日
    瀏覽(21)
  • windows下tomcat控制臺按天輸出catalina.out日志

    windows下tomcat控制臺按天輸出catalina.out日志

    windows服務器情況下,無法和linux服務器一樣,啟動web服務之后,直接tail查看日志,而windwos控制臺的輸出空間有限,如果遇到大量錯誤的情況下,console日志刷新太快,無法看到首次錯誤是在哪里出現(xiàn)的,會產(chǎn)生很多不必要的麻煩,所以從網(wǎng)上查找了windows控制臺信息輸出到文件

    2024年02月05日
    瀏覽(92)
  • 4 種方法完美解決 IntelliJ IDEA Tomcat 控制臺中文亂碼問題

    4 種方法完美解決 IntelliJ IDEA Tomcat 控制臺中文亂碼問題

    上方導航欄“Run→Edit Configurations…”進入配置頁面,修改當前 Web 項目 Tomcat Server 的虛擬機輸出選項 VM options 添加 -Dfile.encoding=UTF-8 。在重啟之后運行程序檢查控制臺信息,如果不管用請執(zhí)行下面的步驟。 上方導航欄“File→Settings…”進入配置頁面,在“Editor”中下滑找到“

    2024年02月16日
    瀏覽(97)
  • IDEA中創(chuàng)建web項目(配置tomcat,tomcat啟動報程序包javax.servlet.http不存在,tomcat控制臺亂碼問題)

    IDEA中創(chuàng)建web項目(配置tomcat,tomcat啟動報程序包javax.servlet.http不存在,tomcat控制臺亂碼問題)

    在瀏覽器地址欄輸入: http://localhost:8080/webidea/ 單擊工具欄按鈕 1、 點擊Help = Edit custom VM Options,在最后面添加 “-Dfile.encoding=UTF-8” 2、點擊Run菜單的 Edit Configurations,在tomcat配置中的 VM option中添加 “-Dfile.encoding=UTF-8” 3、在第二步的Startup/Connection頁簽的Run和Debug添加一個key為

    2024年02月21日
    瀏覽(96)
  • 關于IDEA沒有顯示日志輸出?IDEA控制臺沒有顯示Tomcat Localhost Log和Catalina Log 怎么辦?

    關于IDEA沒有顯示日志輸出?IDEA控制臺沒有顯示Tomcat Localhost Log和Catalina Log 怎么辦?

    問題描述: 原因是;CATALINA_BASE里面沒有相關的文件配置。而之前學習IDEA的時候,把這個文件的位置改變了。導致,最后輸出IDEA的時候,不會把日志也打印出來。 檢查IDEA配置;?D:work_softtomcat_userTomcat10.0bin 在此目錄下,找到;catalina.bat文件 檢查是否改變了,原先我的配置里面

    2024年02月07日
    瀏覽(118)
  • springboot+mysql+mybatis如何實現(xiàn)控制臺打印sql

    在Spring Boot中使用MyBatis與MySQL,并希望在控制臺打印SQL語句,你可以通過配置MyBatis的日志級別來實現(xiàn)。以下是具體步驟: 添加依賴: 確保你的項目中包含了MyBatis和MySQL的相關依賴。在 pom.xml 文件中添加如下依賴: 配置application.properties或application.yml: 在 application.properties 或

    2024年02月01日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包