7.如何减少tomcat日志的数量。X和logate

近红外光谱Ovadia
2022-08-05 07:06

目前在7。x, there is a $ARTIFACTORY_HOME/var/log/tomcat/ folder that gets all the tomcat logs. This creates daily tomcat-catalina-.log and tomcat-catalina-.log files. In some setups this can create too many files or be annoying to manage. There are ways to customize the logging here though. In this article, we’ll be merging the daily logs into a single log file and rotating it into the $ARTIFACTORY_HOME/var/log/archived/ folder with all of the other rotated application logs.

步骤1:整合tomcat每日日志

首先,合并每日日志。为此,我们转到美元ARTIFACTORY_HOME / app / artifactory / tomcat / conf / logging.properties
文件。在这里我们将添加以下两行1 catalina.org.apache.juli.filehandler.rotatable = false
2 localhost.org.apache.juli.filehandler.rotatable = false

这将阻止旋转,以及停止打印日志上的日期。中删除结尾连字符(或完全重命名它)FileHandler.prefix = tomcat - [localhost /卡塔利娜岛]这样,日志看起来更干净一些,而不是tomcat-catalina-.log(看起来配置错误)。

这是我们在tomcat端需要做的全部工作,但是我建议对该文件进行备份。这是因为大多数升级都会覆盖$ARTIFACTORY_HOME/app文件夹,这也会覆盖日志记录。属性文件。我建议你去看看https://tomcat.apache.org/tomcat-8.0-doc/api/org/apache/juli/FileHandler.html如果你想在这里看到更多的选择。

步骤2:设置logrotate

第二部分是旋转圆木。我们可以像这样创建一个对数文件美元ARTIFACTORY_HOME / var / log / tomcat / tomcat * . log {
大小25米
旋转10000000000000
copytruncate
压缩
missingok
olddir . . /存档
dateext
扩展. log
dateformat - Y % - % - % d % s

这个日志文件做以下工作:

  1. 只有超过25M时才会旋转文件
  2. 将日志文件复制到要旋转的$ARTIFACTORY_HOME/var/log/archived文件夹中,并清除当前日志文件(基本上就是我们所期望的日志旋转)
  3. 压缩文件
  4. 将日期时间戳添加到压缩日志名称

所以它本质上的行为与当前默认的Artifactory日志旋转相同。唯一的区别是旋转10000000000000
行,本质上是旋转文件的极限。如果将该值设置为3,则在存档文件夹中只保留3个tomcat存档日志。任何新的日志都将导致删除最早的归档日志。将其设置为一个高得令人讨厌的数字会导致它基本上是无限的。

使用logrotate还可以做其他事情,例如预旋转和后旋转脚本。在这种情况下,我们就到此为止。然后,您可以将对数操作添加到cron作业,类似于0 0 0 ?* MON * root /usr/sbin/logrotate /path/to/custom-logrotate.conf
每周一00:00播出。由于文件通常非常小,我们实际上不需要频繁的CRON来旋转它。

就这样,现在你有了一个tomcat-catalina.log和一个tomcat-localhost.log(或者你决定叫它们的任何名字),它们会像默认的Artifactory日志一样旋转(25MB,到log/archived文件夹中),而不是创建微小的每日日志。