一、問題:當服務部署Tomcat后,運行時間久了,catalina.out文件就會越來越大,最終導致服務器磁盤空間不足,影響系統的穩(wěn)定性。
二、解決方案:
1、修改Tomcat的日志配置,配置日志的級別:
(1)、Tomcat日志分類:
- catalina:標準輸出和標準出錯,所有輸出到這兩個位置的都會進入catalina.out
- localhost:localhost.{yyyy-MM-dd}.log主要是應用初始化(listener, filter, servlet)未處理的異常最后被tomcat捕獲而輸出的日志,它也是包含tomcat的啟動和暫停時的運行日志
- manager:tomcat manager項目專有的日志文件
- host-manager:存放tomcat的自帶的manager項目的日志信息
- admin:存放tomcat的自帶的admin日志信息
(2)、Tomcat日志級別:
SEVERE (最高級別) > WARNING > INFO > CONFIG > FINE > FINER(精心) > FINEST (所有內容,最低級別)
(3)、配置日志級別:
tomcat根目錄:conf/logging.properties,默認是FINE,具體可以依據項目實際情況來配置
?2、修改項目的日志配置,配置日志輸出的級別:(下面以Log4j日志組件為例)
(1)日志級別:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、ALL
(2)常用級別及說明:
- ERROR:輸出錯誤信息。比如接口訪問超時,用try/catch 捕獲異常,發(fā)生異常的時候log.error輸出錯誤信息
- WARN:輸出警告信息,表明具有潛在危害的情況
- INFO:輸出提示信息,指定能夠突出在粗粒度級別的應用程序運行情況的信息的消息
- DEBUG:輸出調試信息,指出細粒度信息事件對調試應用程序是非常有幫助的,一般使用log.debug()進行跟蹤調試
(3)、參考案例如下(可依據項目實際情況進行配置):
<!-- 控制臺輸出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符 -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="WARNING" />
</root>
3、清理catalina.out文件(除非不再需要Tomcat日志,否則不建議)
(1)、手動清理:切換到tomcat的logs下,運行如下命令清空日志數據
echo " " ?> catalina.out
(2)、自動清理:編寫腳本,放入計劃任務中,定時清理
crontab -e?#添加任務 0 24 * * * ? ?sh /root/clean_catalina.out.sh vim clean_catalina.out.sh #定義任務執(zhí)行的腳本內容 #!/usr/bin/bash? echo " " > /usr/local/tomcat/logs/catalina.out service crond restart #重啟crontab 服務,使修改生效
(3)、對catalina.out日志文件進行切分,這樣就可以通過腳本對時間久遠的日志進行定時清理:
常用的切分技術:cronolog、logrotate等
將catalina.out按天進行切分,如:catalina.2022-05-15.out、catalina.2022-05-16.out,然后可以通過定時任務對某個時間段內的日志進行清理
三、總結:
綜上所述,遇到Tomcat日志文件catalina.out占用磁盤空間過大的情況,可以從以下三方面入手:文章來源:http://www.zghlxwxcb.cn/news/detail-446775.html
- 調整Tomcat日志級別
- 調整并優(yōu)化項目的日志記錄與日志級別
- 通過定時任務定期清理日志信息
如有更好的方案,歡迎評論交流??文章來源地址http://www.zghlxwxcb.cn/news/detail-446775.html
到了這里,關于關于Tomcat服務器catalina.out文件過大的問題的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!