下面提供两种办法来实现用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即可。