Tomcat catalina.out日志按日瓜分
logs下会产生 catalina.out 、hostXXX、mangerxxxxxx、host-mangerxxxxx、等各种日志,建议新装的tomcat把webapps下面的
docs examples host-manger manger等删除,ROOT下也清空放入自己的功能页面等。虽然删除了以上几个应用 ,但是logs下面还是会产生对应的日志文件(以按日的形式);修改conf/logging.properties文件,把以下地方注释:
#2localhost.org.apache.juli.FileHandler.level = FINE
#2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
#2localhost.org.apache.juli.FileHandler.prefix = localhost.
#3manager.org.apache.juli.FileHandler.level = FINE
#3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
#3manager.org.apache.juli.FileHandler.prefix = manager.
#4host-manager.org.apache.juli.FileHandler.level = FINE
#4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
#4host-manager.org.apache.juli.FileHandler.prefix = host-manager.
这样logs下面还是只产生catalina.out 但是catalina.out会一直堆积在一个文件中,使用以下方法可以进行按日切割:
下载LINUX下的小软件cronolog wget http://cronolog.org/download/cronolog-1.6.2.tar.gz 建议使用root权限进行按装
解压缩
# tar zxvf cronolog-1.6.2.tar.gz
进入cronolog安装文件所在目录
# cd cronolog-1.6.2
运行安装
# ./configure
# make
# make install
成功后 运行which cronolog会找到对应的路径 /usr/local/sbin/cronolog
在tomcat的bin目录的catalina.sh中找到2行:
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 &
上面会有一行touch “$CATALINA_BASE”/logs/catalina.out
把其注释掉即可
这样每天就会产生一个catalina.2xxx-0x-xx.out的文件 零点自动分割
如果想对日志进行按日压缩可以使用以下的方法: