详解关于tomcat切割catalina.out日志的三种方式

2019-10-18 20:17:10刘景俊

# wget https://files.cnblogs.com/files/crazyzero/cronolog-1.6.2.tar.gz
# tar -zxf cronolog-1.6.2.tar.gz
# cd cronolog
# ./configure 
# make && make install
# which cronolog
# /usr/local/sbin/cronolog  

编辑tomcat下的bin/catalina.sh(注:行数不一定是我这个,找到语句为主)

将以上两处内容替换为:

org.apache.catalina.startup.Bootstrap "$@" start 
2>&1 |/usr/local/sbin/cronolog "$CATALINA_BASE/logs/catalina-%Y-%m-%d.out" &

完成后,重新启动tomcat即可。

3、使用logrotate进行切割。

在/etc/logrotate.d下,新建tomcatrotate,编辑tomatrotate,写入如下内容: 

/usr/local/tomcat7.0.79/logs/catalina.out {
daily
rotate 15
missingok
dateext
compress
notifempty
copytruncate
}

    daily                指定转储周期为每天
    rotate 15         指定日志文件删除之前转储的次数,0指没有备份,5指保留5个备份
    missingok        如果日志不存在则忽略该警告信息
    dateext            文件后缀是日期格式,也就是切割后文件是:xxx.log-20150828.gz
    compress         通过gzip压缩转储以后的日志(gzip -d xxx.gz解压)
    notifempty       如果是空文件的话,不转储

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

/usr/local/tomcat7.0.79/logs/catalina.out   指定catalina.out的路径

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易采站长站。