Linux下Tomcat catalina.out自动归档的几种方式 4年前

问题:为什么需要归档?

  • 如果 catalina.out 日志达到 2GB 大小的时候,Tomcat 因为缓存问题,便没有办法继续输出日志了。

  • 为了避免这种情况,你需要及时对 catalina.out  进行归档。

问题:tomcat自身对日志内容进行归档,为什么日志还是会越来越大

  • 实际上 Tomcat 自身也会对日志内容进行归档,但是归档后,Tomcat 不会清理 catalina.out 的内容,这将会导致 catalina.out  越来越大

解决方案

  • 使用场景:Linux/Unix
  • 使用方式:采取logrotate日志轮询

执行命令:

vi /etc/logrotate.d/tomcat

输入以下内容:

/opt/apache-tomcat-8.0.15/logs/catalina.out{  
rotate 10 
copytruncate  
daily  
dateext 
nocompress  
missingok  
notifempty  
}

参数功能:

  • copytruncate 用于还在打开中的日志文件,把当前日志备份并截断

  • daily  指定转储周期为每天

  • dateext 使用日期作为命名格式,切换后的日志文件会附加上一个短横线和YYYYMMDD格式的日期

  • 例:error.log-20150506,没有这个配置项会附加一个小数点加一个数字序号

  • nocompress 不需要压缩时,用这个参数

  • missingok 如果日志不存在则忽略该警告信息

  • notifempty 表示如果log文件是空的,就不进行rotate

 完成上面的工作后,你可以不需要在你的操作系统中做任何工作,日志归档程序将会每天对你的日志进行归档的。

执行命令

/usr/sbin/logrotate -f /etc/logrotate.conf

执行命令后,在/opt/apache-tomcat-8.0.15/logs/里面会存在catalina.out-20150605,而catalina.out的大小变为了0

image
涂了秋子果酱的早苗面包
圣人不死,大盗不止。
2
发布数
1
关注者
1191
累计阅读

热门教程文档

Javascript
24小节
Swift
54小节
Lua
21小节
MyBatis
19小节
Djiango
17小节
广告