下面提供两种办法来实现用cronolog分割tomcat的catalina.out文件

1、安装cronolog:

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

tar -xzvf cronolog-1.6.2.tar.gz

cd cronolog-1.6.2
./configure
make
sudo suroot
make install

查看cronolog是否安装:   whereis cronolog

一般路径为:/usr/local/sbin/cronolog   也有特殊情况。这关系到下面替换代码的路径如何写

 

使用cronolog分割tomcat的catalina.out,需作如下个工作:

在tomcat的bin目录的catalina.sh中找到下列代码:
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 

或者 #  touch "$CATALINA_OUT" 

重启tomcat。在指定的日志目录下 就会产生命名的相应日志文件。

2、使用log4j成功使catalina.out文件实现分割。

在tomcat根目录下建立common/classes/log4j.properties,内容如下:
############################################################################
log4j.rootLogger=info,stdout,R
### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 

//此句为定义名为stdout的输出端是哪种类型(ConsoleAppender:控制台      FileAppender:文件   DailyRollingFileAppender:每天产生一个日志文件   RollingFileAppender:定义文件大小进行分割     WriterAppender:将日志信息以流格式发送到任意指定的地方  )

log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %p %c<%M>:[%L] - %m%n

# Pattern to output the caller's file name and line number.

log4j.appender.R=org.apache.log4j.DailyRollingFileAppender

log4j.appender.R.File=/space/            //log日志存放路径
log4j.appender.R.DatePattern=yyyyMMdd'.log'
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %c<%M>:[%L] - %m%n
log4j.logger.cn.j=debug
log4j.logger.cn.j.messages=info
log4j.logger.com.danga.MemCached=warn

 

关于以上参数 可以参考百度百科:http://baike.baidu.com/view/25347.htm

############################################################################
在tomcat根目录下的common/lib下加入log4j.jar和commons-logging.jar 或者工程的 lib下
重新启动tomcat即可。