tomcat catalina.log日志太大问题
Posted jiangzhongwei_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat catalina.log日志太大问题相关的知识,希望对你有一定的参考价值。
很久没用过tomcat部署服务了,以前都直接用jar包运行启动,简单又便捷,几年后再次用起来,才发现一些问题!
这次项目是物联网相关的设备通讯、数据采集等,所以一些日志打的比较频繁也很多,客户反应tomcat里的日志量巨大,一天达到七八个G,然后分配的服务器磁盘也不够大,结果每天早上都需要手动删日志再重启tomcat,客户体验特别不好。
一开始我还以为只是日志打的太多,将程序日志优化了一番发包给客户,结果第二天照样卡死,磁盘空间不足。好吧,让客户截图看tomcat日志才发现,只有一个catalina.out鹤立鸡群!尼玛,巨坑!其他日志都很小。再到咱们开发环境瞧了瞧,还真是!catalina.out日志里包含每天的运行日志,没分家,也没按日重启,也就是只要tomcat不挂,就会一直追加日志,这太恐怖了!
然后百度了下,最简单的就是撤了tomcat,让log4j去管理日志,代码配置下就成,但是。。。算了,这个客户会叼人;另一种方法就是切割日志,按天存放。要么装个软件,让它去做运维,要么自定义tomcat的jar ,最后我选择了装软件。。。
下面都是百度来了,不过有个地方报错,就做了修改:
1、下载cronolog工具,版本是cronolog-1.6.2
2、将下载好的文件解压
tar xvzf cronolog-1.6.2.tar.gz3、切换到解压后的文件目录下:
cd cronolog-1.6.24、初始化和编译安装
./configure --prefix=/usr/local/cronologmake
make install
ln -s /usr/local/cronolog/sbin/* /usr/local/sbin/
5、查看安装版本
cronolog --version6、修改tomcat的启动文件(tomcat目录/bin/catalina.sh)
vim catalina.sh(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"
为:
echo "log"(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 &
7、重启tomcat
tomcat输出日志文件分割成功,输出log文件格式为:catalina.2021-11-05.out,
再将原catalina.out日志文件删除
以上是关于tomcat catalina.log日志太大问题的主要内容,如果未能解决你的问题,请参考以下文章
tomcat localhost log和tomcat catalina log分别代表啥日志?
tomcat里的几类日志: Catalina(catalina.out,catalina.log) localhost manager admin host-manager