网络上找了一下,针对在 Linux 环境下执行 Tomcat 的部份,发现有个不错的工具软件 cronolog 能够协助 Web Server 之类的作 log 檔的 rotate ,详细的运做原理可能你们得本身去这个网站上查,个人认知大体以下: apache
Tomcat 先把输出写到 console( 标准输出 ) 而后透过 pipe (|) 转为 cronolog 的输入,由 cronolog 针对一个事先给定的文件名的命名规则,去过滤数据,按期关闭旧文件,而后再开启新档。若是咱们将文件名的命名规则设为 catalina.out.%Y-%m-%d ,就能够作到天天开一个新的 catalina.out.yyyy-mm-dd 的档案了。 tomcat
在Windows下安装cronolog网络
在Windows下很简单,解压后直接把cronolog.exe复制到apache目录下的bin目录中就能够了.ide
1 安装 cronolog 工具
wget http://cronolog.org/download/cronolog-1.6.2.tar.gz网站
tar zxvf cronolog-1.6.2.tar.gzspa
cd cronolog-1.6.2rest
./configure日志
makeblog
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 的档案,这样子就成功了。
另外一个解决方案:
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)