文档 · 2020年8月5日 0

Cronolog切割Tomcat日志

问题原因:

tomcat本身不会去切割日志,长期运行导catalina.out 日志文件过大,不方便查看。
Catalina.out日志文件过大会对内存,磁盘io等系统性能造成影响。

 

实现功能:

切分catalina.out文件,按天分割,每天都会形成一个新的带有当天日期的日志文件。方便后期查找。

系统环境:

一台装有tomcat的服务器。本文章仅适用于linux系统下。

不墨迹直接讲安装:

第一步:

下载cronolog安装包:

下载地址:  https://www.woniusnail.com/?attachment_id=1273

第二步:

安装:

[root@server opt]# tar -zxvf cronolog-1.6.2.tar.gz
[root@server cronolog-1.6.2]# cd cronolog-1.6.2
[root@server cronolog-1.6.2]# ./configure
[root@server cronolog-1.6.2]# make
[root@server cronolog-1.6.2]# make install
[root@server cronolog-1.6.2]# cd /
[root@server /]#which cronolog
/usr/local/sbin/cronolog
#检查运行文件路径,一会会用到!
[root@server /]# cronolog -V
cronolog version 1.6.2
#版本号出来了基本就安装成功了。

第三步:

配置catalina.sh 文件:在tomcat目录的bin目录下

[root@server /]# cd /opt/tomcat_web/bin/
[root@server bin]# vim catalina.sh 
213 if [ -z "$CATALINA_OUT" ] ; then
214   CATALINA_OUT="$CATALINA_BASE/logs/catalina-%Y-%m-%d.out  ###此处是修改后的哦。原文件是 CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
215 fi
。。。。。。
459   shift
460 # touch "$CATALINA_OUT"       ###这个位置可以注释也可以不注释,注释掉logs文件里面没有catalina.out文件,不注释有这个文件但是是空文件。这个随意。
461   if [ "$1" = "-security" ] ; then
462     if [ $have_tty -eq 1 ]; then
463       echo "Using Security Manager"
464     fi
465     shift
466     eval $_NOHUP ""$_RUNJAVA"" ""$LOGGING_CONFIG"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS 
467       -D$ENDORSED_PROP=""$JAVA_ENDORSED_DIRS"" 
468       -classpath ""$CLASSPATH"" 
469       -Djava.security.manager 
470       -Djava.security.policy==""$CATALINA_BASE/conf/catalina.policy"" 
471       -Dcatalina.base=""$CATALINA_BASE"" 
472       -Dcatalina.home=""$CATALINA_HOME"" 
473       -Djava.io.tmpdir=""$CATALINA_TMPDIR"" 
474       org.apache.catalina.startup.Bootstrap "$@" start 
475       2>&1 |/usr/local/sbin/cronolog "$CATALINA_BASE/logs/catalina-%Y-%m-%d.out" &   ###此处是修改后的哦。原文件是 >> "$CATALINA_OUT" 2>&1 "&"
476 
477   else
478     eval $_NOHUP ""$_RUNJAVA"" ""$LOGGING_CONFIG"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS 
479       -D$ENDORSED_PROP=""$JAVA_ENDORSED_DIRS"" 
480       -classpath ""$CLASSPATH"" 
481       -Dcatalina.base=""$CATALINA_BASE"" 
482       -Dcatalina.home=""$CATALINA_HOME"" 
483       -Djava.io.tmpdir=""$CATALINA_TMPDIR"" 
484       org.apache.catalina.startup.Bootstrap "$@" start 
485       2>&1 |/usr/local/sbin/cronolog "$CATALINA_BASE/logs/catalina-%Y-%m-%d.out" &    ###此处是修改后的哦。原文件是 >> "$CATALINA_OUT" 2>&1 "&"
486   fi
487 
488   if [ ! -z "$CATALINA_PID" ]; then
489     echo $! > "$CATALINA_PID"
490   fi
491 
492   echo "Tomcat started."
......

然后重启tomcat使配置生效即可。

提示:
为文章中防止链接失效,下面的下载链接可以直接下载本文的cronolog版本哦。

打赏
相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!
 
Cronolog切割Tomcat日志