Tomcat7 catalina.out 日志分割
Posted humor1314
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat7 catalina.out 日志分割相关的知识,希望对你有一定的参考价值。
安装过程如下:
1、下载(最新版本)
cronolog-1.6.2.tar.gz
2、解压缩
# tar zxvf
cronolog-1.6.2.tar.gz
3、进入cronolog安装文件所在目录
# cd cronolog-1.6.2
4、运行安装
#
yum –y install gcc
# ./configure
# make
# make install
5、查看cronolog安装后所在目录(验证安装是否成功)
# which cronolog
一般情况下显示为:/usr/local/sbin/cronolog
6、要想分割tomcat7的catalina.out,需作如下工作:
进入Tomcat的bin目录,打开catalina.sh文件,一般我们修改下面行中的内容(最好用root用户),
(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"
if [ "$1" = "-security" ] ; then
if [ $have_tty -eq 1 ]; then
echo "Using Security Manager"
fi
shift
eval \\"$_RUNJAVA\\" \\"$LOGGING_CONFIG\\" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \\
-Djava.endorsed.dirs=\\"$JAVA_ENDORSED_DIRS\\" -classpath \\"$CLASSPATH\\" \\
-Djava.security.manager \\
-Djava.security.policy==\\"$CATALINA_BASE/conf/catalina.policy\\" \\
-Dcatalina.base=\\"$CATALINA_BASE\\" \\
-Dcatalina.home=\\"$CATALINA_HOME\\" \\
-Djava.io.tmpdir=\\"$CATALINA_TMPDIR\\" \\
org.apache.catalina.startup.Bootstrap "$@" start \\
>> "$CATALINA_OUT" 2>&1 "&"
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 \\
>> "$CATALINA_OUT" 2>&1 "&"
fi
if [ ! -z "$CATALINA_PID" ]; then
echo $! > "$CATALINA_PID"
fi
改为:
# touch "$CATALINA_OUT"
if [ "$1" = "-security" ] ; then
if [ $have_tty -eq 1 ]; then
echo "Using Security Manager"
fi
shift
eval \\"$_RUNJAVA\\" \\"$LOGGING_CONFIG\\" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \\
-Djava.endorsed.dirs=\\"$JAVA_ENDORSED_DIRS\\" -classpath \\"$CLASSPATH\\" \\
-Djava.security.manager \\
-Djava.security.policy==\\"$CATALINA_BASE/conf/catalina.policy\\" \\
-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_OUT" >> /dev/null &
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_OUT" >> /dev/null &
fi
if [ ! -z "$CATALINA_PID" ]; then
echo $! > "$CATALINA_PID"
fi
7、保存 catalina.sh 文件,重启 Tomcat 即可。
以后看到 $TOMCAT_HOME/logs/ 下的就是 catalina.2017-01-10.out, catalina.2017-01-11.out ...... 一系列文件,好像 cronolog 又没提供方式来控制归档的日志文件个数。而且这样之后,将不会产生 catalina.out 文件了。
以上是关于Tomcat7 catalina.out 日志分割的主要内容,如果未能解决你的问题,请参考以下文章