本文出自:web应用
用cronolog分割tomcat的catalina.out文件
# wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
2、解压缩
# tar zxvf cronolog-1.6.2.tar.gz
3、进入cronolog安装文件所在目录
# cd cronolog-1.6.2
4、运行安装
# ./configure
# make
# make install
5、查看cronolog安装后所在目录(验证安装是否成功)
# which cronolog
一般情况下显示为:/usr/local/sbin/cronolog
要想分割tomcat的catalina.out,需作如下个工作:
在tomcat的bin目录的catalina.sh中找到2行:
org.apache.catalina.startup.Bootstrap “$@” start \
>> “$CATALINA_BASE”/logs/catalina.out 2>&1 &
为
Java代码
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
| /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &
同时,上面有一行
Java代码
touch “$CATALINA_BASE”/logs/catalina.out
vi /usr/local/tomcat/conf/logging.properties
注掉:catalina.org.apache.juli.FileHandler.prefix = catalina.
可以注释掉,完成之后重起Tomcat就可以了,
看logs文件中是否有catalina.2009-09-03.out样式的日志。
way2:
使用log4j成功使catalina.out文件实现分割。
在tomcat根目录下建立common/classes/log4j.properties,内容如下:
############################################################################
log4j.rootLogger=INFO, R
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.home}/logs/tomcat.newlog #设定日志文件名
log4j.appender.R.MaxFileSize=100KB #设定文件到100kb即分割
log4j.appender.R.MaxBackupIndex=10 #设定日志文件保留的序号数
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
############################################################################
在tomcat根目录下的common/lib下加入log4j.jar和commons-logging.jar
重新启动tomcat即可。
对了,还看到另外一种解决方法,纯shell实现的.
编写一个.sh文件,并放到tomcat下的bin目录,在cron中自动执行,shell脚本如下:
#!/bin/bash
cd `dirname $0`
d=`date +%Y%m%d`
d7=`date -d'7 day ago' +%Y%m%d`
cd ../logs/
cp catalina.out catalina.out.${d}
echo "" > catalina.out
rm -rf catalina.out.${d7}