当Tomcat日志文件过大时,可能会占用大量磁盘空间,影响系统性能。以下是几种清理Tomcat日志的方法:
查找日志文件:
使用命令 df -h
检查磁盘空间使用情况,确定是否需要清理日志。
df -h
定位到Tomcat日志目录:
cd /path/to/tomcat/logs
清空或删除日志文件:
可以手动清空 catalina.out
文件:
echo "" > catalina.out
或者删除旧的日志文件:
rm -rf catalina.*
catalina.sh
文件:
在 catalina.sh
文件中找到以下内容并注释掉或修改:if [ -z "$CATALINA_OUT"] ;then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi
修改为:if [ -z "$CATALINA_OUT"] ; then
CATALINA_OUT=/dev/null
fi
安装 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 install
配置 catalina.sh
:
修改 catalina.sh
文件,添加以下内容:
org.apache.catalina.startup.Bootstrap "$@" start \
|/usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null 2>&1 &
重启Tomcat:
service tomcat restart
logrotate
进行日志轮转创建 logrotate
配置文件:
在 /etc/logrotate.d/
目录下创建一个新的配置文件,例如 tomcat
:
/usr/local/tomcat/logs/catalina.out {
daily rotate 7
compress
missingok
notifempty
copytruncate
}
配置 logrotate
执行频率:
logrotate
通常在系统的 cron
定时任务中设置自动执行,默认每天运行一次。
logging.properties
配置日志管理修改 logging.properties
文件:
在 conf/logging.properties
文件中,可以设置日志文件的最大保留天数:
handlers = 1catalina.org.apache.juli.AsyncFileHandler, 2localhost.org.apache.juli.AsyncFileHandler, 3manager.org.apache.juli.AsyncFileHandler, 4host-manager.org.apache.juli.AsyncFileHandler
1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
重启Tomcat: 修改配置文件后,通常需要重启Tomcat服务以使更改生效。
[1,2,3,4,5,6,7,8,9,10,11,12]