应用上线后,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>
閱讀更多 夏至海 的文章