Tomcat的网站上的说法http://wiki.apache.org/tomcat/FAQ/Logging#Q6:apache
System.out 和 System.err 都被打印到 catalina.out。tomcat
catalina.out 不会 rotate。网络
若是您使用了 logging 机制,就不会有任何东西被写到标准输出了,因此这应该不会是个问题。工具
但是实际上发现,虽然有设了log4j之类的 logging 机制,但写程序的人若是仍是写成System.out.println()或是遇到exception时都来个e.printStackTrace(),这些输出最后仍是统统送到catalina.out去了。日子久了,这个档案仍是会日渐变大起来,若是没有加以管理最后就会长大成好几GB的庞然大物。(这时千万不要再用vi去开它了。)网站
网络上找了一下,针对在Linux环境下执行Tomcat的部份,发现有个不错的工具软件cronolog能够协助Web Server之类的作 log 檔的 rotate,详细的运做原理可能你们得本身去这个网站上查,个人认知大体以下:rest
Tomcat先把输出写到 console(标准输出) 而后透过 pipe (|) 转为 cronolog 的输入,由cronolog针对一个事先给定的文件名的命名规则,去过滤数据,按期关闭旧文件,而后再开启新档。若是咱们将文件名的命名规则设为catalina.out.%Y-%m-%d,就能够作到天天开一个新的catalina.out.yyyy-mm-dd的档案了。日志
如下是简单的过程说明:
1.安装cronolog
2.修改catalina.sh
3.从新启动Tomcatblog
1 安装cronolog
wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
tar zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure
make
make install
用which cronolog能够查到安装的路径,默认应该是/usr/local/sbin/cronolog,这个路径待会在修改catalina.sh时会用到。
2 修改catalina.sh
以Tomcat 6.0.24的版本为例
2.1 第一步
将
if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi
修改成
if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d
fi
2.2 第二步
将
touch "$CATALINA_OUT"
改成
#touch "$CATALINA_OUT"
2.3 第三步
将
org.apache.catalina.startup.Bootstrap "$@" start /
>> "$CATALINA_OUT" 2>&1 &
修改成
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 /
| /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &
2.4 从新启动Tomcat
service tomcat restart
能够在Tomcat的logs目录底下找到以系统日期为结尾的catalina.out.yyyy-mm-dd的档案,这样子就成功了。
后续就是持续观察看看是否是天天都有产生一个新的catalina.out.yyyy-mm-dd档案。而后再安排按期删除这些较旧的log檔便可。ip
另外一个解决方案:部署
http://rwl6813021.iteye.com/blog/752416
通常在部署Tomcat后,运行久了,catalina.out文件会愈来愈大,对系统的稳定形成了必定的影响。 可经过修改conf/logging.properties日志配置文件来屏蔽掉这部分的日志信息。 1catalina.org.apache.juli.FileHandler.level = WARNING 1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 1catalina.org.apache.juli.FileHandler.prefix = catalina. 将level级别设置成WARNING就能够大量减小日志的输出,固然也能够设置成OFF,直接禁用掉。 通常日志的级别有: SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)