温馨提示×

Tomcat日志过大如何清理

小樊
209
2025-02-13 21:49:12
栏目: 智能运维

当Tomcat日志文件过大时,可能会占用大量磁盘空间,影响系统性能。以下是几种清理Tomcat日志的方法:

手动清理

  1. 查找日志文件: 使用命令 df -h 检查磁盘空间使用情况,确定是否需要清理日志。

    df -h 
  2. 定位到Tomcat日志目录

    cd /path/to/tomcat/logs 
  3. 清空或删除日志文件: 可以手动清空 catalina.out 文件:

    echo "" > catalina.out 

    或者删除旧的日志文件:

    rm -rf catalina.* 

配置Tomcat禁用日志输出

  1. 修改 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 

使用日志切割工具

  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 install 
  2. 配置 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 & 
  3. 重启Tomcat

    service tomcat restart 

使用 logrotate 进行日志轮转

  1. 创建 logrotate 配置文件: 在 /etc/logrotate.d/ 目录下创建一个新的配置文件,例如 tomcat

    /usr/local/tomcat/logs/catalina.out { daily rotate 7 compress missingok notifempty copytruncate } 
  2. 配置 logrotate 执行频率logrotate 通常在系统的 cron 定时任务中设置自动执行,默认每天运行一次。

通过 logging.properties 配置日志管理

  1. 修改 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. 
  2. 重启Tomcat: 修改配置文件后,通常需要重启Tomcat服务以使更改生效。

[1,2,3,4,5,6,7,8,9,10,11,12]

0