cronolog分割Tomcat catalina.out日志

Linux上tomcat的日志输出在catalina.out里面,随着时间的推移,产生的日志文件会越来越大,其主要是调试中打印的一些信息占空间,比如说System.out和log等等。tomcat 的catalina.out文件的不断扩大,导致系统磁盘空间边变小,也不方便查看,所以使用cronolog按日期分割日志(例子里面以天为分割单位)。

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

fi

2  第二步

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

cronolog分割Tomcat catalina.out日志

完成之后重起Tomcat就可以看到logs文件中存在catalina.out.2015-09-13样式的日志。

更多Tomcat相关教程见以下内容

CentOS 6.6下安装配置Tomcat环境 

RedHat Linux 5.5安装JDK+Tomcat并部署Java项目   

Tomcat权威指南(第二版)(中英高清PDF版+带书签)   

Tomcat 安全配置与性能优化  

Linux下使用Xshell查看Tomcat实时日志中文乱码解决方案  

CentOS 64-bit下安装JDK和Tomcat并设置Tomcat开机启动操作步骤  

CentOS 6.5下安装Tomcat   

Tomcat 的详细介绍请点这里
Tomcat 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/d8fd85e0cea9e8eb7dfb53133d127904.html