應用上線後,tomcat系統日誌都打到catalina.out,遇到應用異常,想定位一下問題,一看好幾個G!我的天吶!vi一下半天打不開,如果應用內存緊張,很可能就把應用擠死了。
變通一下,大事化小,先根據關鍵字或者時間,找到我們關心的一段時間的日誌,grep+sed:
1、grep
grep -ano "查找關鍵字" ./*
顯示出文件,以及所在行號
2、然後再用sed
sed -n 100,200p ./logfile
00,200p 表示打印100,200行之間的內容
難道沒有自動切日誌的工具嗎?找了半天,發現linux竟然自帶了一把利器:logrotate。
logrotate就是專門用來自動切分日誌文件的,可以對文件進行輪轉、壓縮、移除等。Linux系統默認是安裝了logrotate的。
root用戶在/etc/logrotate.d/新建配置文件:tomcat
<code>/apps/tomcat8/logs/catalina.out
{
daily
rotate 30
missingok
dateext
dateformat -%Y%m%d%s
nocompress
notifempty
copytruncate
}/<code>
測試
<code>logrotate -d /etc/logrotate.d/tomcat 手動切割日誌測試/<code>
手動觸發切割,並顯示詳細debug信息
<code>logrotate -fv /etc/logrotate.d/tomcat/<code>
閱讀更多 夏至海 的文章