tomcat日志管理,所有容器日志自动覆盖、分割

  • Post author:
  • Post category:其他




容器的日志自动覆盖

应用的日志有log4j设置的保留天数,长期运行硬盘不会爆满,但对于tomcat自身的日志如果不管理起来,也会出现硬盘爆满,应用无法运行



主要的配置文件:tomcat的conf下的logging.properties

1.

catalina.log路径、保留最大天数

1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = /u01/app/applogs 
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
1catalina.org.apache.juli.AsyncFileHandler.maxDays = 180
1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8

2.

localhost.log路径、保留最大天数

2localhost.org.apache.juli.AsyncFileHandler.level = FINE
2localhost.org.apache.juli.AsyncFileHandler.directory = /u01/app/applogs 
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
2localhost.org.apache.juli.AsyncFileHandler.maxDays = 180
2localhost.org.apache.juli.AsyncFileHandler.encoding = UTF-8

3.

manager.log路径、保留最大天数

3manager.org.apache.juli.AsyncFileHandler.level = FINE
3manager.org.apache.juli.AsyncFileHandler.directory = /u01/app/applogs
3manager.org.apache.juli.AsyncFileHandler.prefix = manager.
3manager.org.apache.juli.AsyncFileHandler.maxDays = 180
3manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8

4.

host-manager.log路径、保留最大天数

4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
4host-manager.org.apache.juli.AsyncFileHandler.directory = /u01/app/applogs
4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
4host-manager.org.apache.juli.AsyncFileHandler.maxDays = 180
4host-manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8



catalina.out日志的配置,默认tomcat不提供最大天数配置的没要日志分割

bin下面的catalina.sh中 默认配置了该日志的路径

CATALINA_OUT=“$CATALINA_BASE”/logs/catalina.out

可以按需修改为(可能服务器上有多个tomcat,这里加了后缀app1) CATALINA_OUT=/u01/app/applogs/catalina.out.app1



catalina.out日志分割

在不另外安装日志分割工具的情况下,使用linux自带的

logrotate

来分割日志,root用户每晚23点59分执行分割,和其它日志保持一致,保存180天


root超级用户的crontab -e 编辑root定时任务配置

59 23 * * * /usr/sbin/logrotate -f /u01/app/apache-tomcat-9.0.71_app1/bin/catalina.out.app1.logrotate.conf

catalina.out.app1.logrotate.conf 这个配置文件在tomcat里,而整个tomcat是普通用户applprod来启动的,所以内容中有su applprod,具体内容如下

#!/bin/sh
su applprod
/u01/app/applogs/catalina.out.app1

{
        daily
        rotate 180
        create
        dateext
        dateformat .%Y%m%d
        missingok
        copytruncate
        nocompress
        sharedscripts
}
这些配置的含义,网上有,这里不再赘述,主要设置180天的保留时间



access日志配置在conf/server.xml中

默认是没用最大天数的,注意加上。文件名、路径等见下文

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="/u01/app/applogs"
               prefix="localhost_access_log_app1" suffix=".txt" maxDays="180"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />



版权声明:本文为bu1216shi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。