问题原因:
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版本哦。