tomcat8 下 catalina.out 日志文件太大,利用 Cronolog 进行每天分割

一般情况下,系统运行产生的日志文件 catalina.out 会日积月累不断变大,并不会像其他的日志文件一样,按照每天的日期自动进行分割;所以为了不让 catalina.out 日志文件不断变大影响内存,我们可以使用 cronolog 对其进行分割(操作起来一点不难,请认真看完!!!)。

=================== cronolog安装步骤(源码安装) ================================

1、下载 cronolog压缩文件:

wget http://cronolog.org/download/cronolog-1.6.2.tar.gz

注意:如果获取失败,你可以点击 #cronolog# 进行下载;然后安装到你需要指定的安装目录(为了下面的操作方便,您可以安装到如下目录:/usr/sbin/下面)

2、解压缩并进入安装目录:

tar zxvf cronolog-1.6.2.tar.gz  
cd cronolog-1.6.2

3、运行安装:

./configure && make && make install

注意:此时,你可能遇到安装失败的情况:configure: error: no acceptable cc found in $PATH

          不要慌,这个是因为缺少GCC编译器,所有安装一下就可以了:yum install gcc gcc-c++ gcc-g77

           安装还了gcc编译器后,再次执行第3步的操作完成cronolog安装;

4、最后验证安装是否成功(查看cronolog安装目录):

which cronolog    (一般的安装目录是/usr/sbin/cronolog)

================ 修改 tomcat安装目录下的 bin/catalina.sh ==========================

找到catalina.out文件中如下的3处位置:

shift
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

修改以上3处内容为:

shift
#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/sbin/cronolog “$CATALINA_BASE”/logs/catalina.%Y-%m-%d.out >> /dev/null &                     ----------- 以上字体加深的目录就是之前安装 cronolog 的安装目录

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/sbin/cronolog “$CATALINA_BASE”/logs/catalina.%Y-%m-%d.out >> /dev/null &

fi

================= 重新启动tomcat,查看是否生效  ============================

如果执行操作成功后,会在/logs/下找到当天的分割日志文件:


此时你会发现,catalina.out 文件大小不会发生变化了,而分割出来的日志文件会不断变大!



猜你喜欢

转载自blog.csdn.net/david_jiahuan/article/details/80520287
今日推荐