Linux上tomcat的日志输出在catalina.out里面,随着时间的推移,产生的日志文件会越来越大,其主要是调试中打印的一些信息占空间,比如说System.out和log等等。tomcat 的catalina.out文件的不断扩大,导致系统磁盘空间边变小,也不方便查看,所以使用cronolog按日期分割日志(例子里面以天为分割单位)。
cronolog下载地址:https://files.cnblogs.com/files/crazyzero/cronolog-1.6.2.tar.gz
cronolog安装
# tar zxvf cronolog-1.6.2.tar.gz # cd cronolog-1.6.2 # ./configure # make # make install查看cronolog安装后所在目录(验证安装是否成功)
# which cronolog正常情况下显示:
/usr/local/sbin/cronolog要想分割tomcat的catalina.out,需作如下工作:
Tomcat7以前的版本:
(1)注释掉(#)
touch “$CATALINA_BASE”/logs/catalina.out(2)修改tomcat bin目录下的catalina.sh文件中的两处
org.apache.catalina.startup.Bootstrap “$@” start \ >> “$CATALINA_BASE”/logs/catalina.out 2>& 1 &为
org.apache.catalina.startup.Bootstrap "$@" start 2>& 1 \ | /usr/local /sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &完成之后重起Tomcat就可以看到logs文件中存在catalina.out.2015-09-13样式的日志。
Tomcat7以后的版本: 1 第一步
将
if [ -z "$CATALINA_OUT" ] ; then CATALINA_OUT= "$CATALINA_BASE"/logs/catalina.out fi修改为
if [ -z "$CATALINA_OUT" ] ; then CATALINA_OUT= "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out fi2 第二步
将
touch "$CATALINA_OUT"改为
#touch "$CATALINA_OUT"3 第三步
将
org.apache.catalina.startup.Bootstrap "$@" start \ >> "$CATALINA_OUT" 2>&1 &修改为
org.apache.catalina.startup.Bootstrap "$@" start 2>& 1 \ | /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/ null &
或者进行下面的操作步骤效果一样(推荐):
# vi bin/catalina.sh找到下面这行
org.apache.catalina.startup.Bootstrap "$@" start \ >> "$CATALINA_OUT" 2>&1 &类似这样的行有2处,第一处是tomcat时带“-security”参数的启动,第二处是默认tomcat启动方式,也就是else下面的那部分,我们只修改这里。
另外还要把touch “$CATALINA_OUT"这行注释掉。
完整的修改如下:
#touch "$CATALINA_OUT" if [ "$1" = "-security" ] ; then ........ else eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \ -Djava.endorsed.dirs= "\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \ -Dcatalina.base= "\"$CATALINA_BASE\"" \ -Dcatalina.home= "\"$CATALINA_HOME\"" -Djava.io.tmpdir= "\"$CATALINA_TMPDIR\"" \ org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \ | /usr/ local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >>/dev/null & fi完成之后重起Tomcat就可以看到logs文件中存在catalina.out.2015-09-13样式的日志。