如何对 Tomcat 的 catalina.out 日志进行归档

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

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

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

下面的方法能够使用在 linux/unix 的机器上。

如果我们期望每天对日志进行归档,我们可以按照下面的方法进行配置:

创建文件,你需要有 root 的权限。

Java代码   收藏代码
  1. vi /etc/logrotate.d/tomcat

输入下面的内容:

Java代码   收藏代码
  1. /usr/local/tomcat/logs/catalina.out {
  2.  copytruncate
  3.  daily
  4.  dateext
  5.  nocompress
  6.  missingok
  7. }

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

如果你希望强制进行归档,你可以使用下面的命令,进行一次手工归档。

Java代码   收藏代码
  1. /usr/sbin/logrotate -f /etc/logrotate.conf

程序归档的结果如下:

你可以看到在 Tomcat 的日志目录下创建了一个文件:

-rw-rw-r– 1 tomcat tomcat   133540 Jul 13 09:39 catalina.out-20110713

这个就是我们几天内的归档文件。

关于参数的说明:

重要的参数:
dateext: 在归档文件后,将会使用日期进行标注。如果这参数不指定的话,归档文件将会标注为数字。

如下面的内容:
-rw-rw-r– 1 tomcat tomcat 33790228 Jul 13 09:33 catalina.out.1

Tagged: ,

Comments are closed.