Linux下Tomcat中catalina.out文件切割
最近由于系统在生产环境中出现了一个bug,自己在开发环境中复现不出来,所以需要查日志,于是就logs下找日志了。使用命令 vim catalina.out命令查看,但是怎么也打不开,然后我看了看文件的属性,我去,吓坏我了, 8个多G,怎么这么大,后来想想确实有可能,我们在服务器上部署了三个系统,每天的日志输出量是很可观的一个数字。所以在这个文件中找错误,就如同大海捞针一个,而且文件大了以后,文本编辑器还打不开,还需要对文件进行切割。所以我们就想定期把这个文件名字,改一下,他不就可以了吗!但是时间长了,发现总是忘。哎,没办法,只能问百度了。
百度后发现其实有很多的办法可以解决这个问题,比如在linux中设置定时任务,每天定时改一个这个文件的名字。用cronolog对catalia.out文件进行切割。每天输出一个文件。今天笔者就为您说一下如何配置tomcat,让服务器每天输出一个文件catalina.2016-01-13.out,catalina.2016-01-14.out。
cronolog是一个简单的过滤程序从标准输入读取日志文件条目,每个条目写入到输出文件指定一个文件名模板和当前的日期和时间。当扩大的文件名更改,关闭当前文件,并打开一个新的。 cronolog的目的是要在配合使用的Web服务器( 如 Apache) ,分成每天或每月的日志,访问日志。Linux下运行的Web服务器Apache,默认日志文件是不分割的,一个整文件既不易于管理,也不易于分析统计。安装cronolog后,可以将日志文件按时间分割,易于管理和分析。
首先我们要安装一个工具cronolog,大家可以到http://down.51cto.com/data/241863 下载。安装
# tar zxvf cronolog-1.6.2.tar.gz
# ./configure
# make
# make install
搞定!
默认是安装在/usr/local/sbin/下,如下图所示。
安装完以后,我们需要修改/tomcat/bin/catalina.sh 文件将
修改为如下图所示
可以看到修改了三个地方,第一将touch"$CATALINA_OUT" 注释掉,然后org.apache.catalina.startup.Bootstrap"$@"start \ >>"$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/null2>&1 & 。这样就完成了操作,然后我们重新启动tomcat,就会发现 catalina.out的文件命名会加上一个当前日期。这样我们tomcat服务器每天产生的日志文件名字都是不一样的!
这样就OK了,以后就不用为这个文件过大而担心了!
更多推荐
所有评论(0)