gpt4 book ai didi

java - 配置 Tomcat 日志轮转窗口

转载 作者:行者123 更新时间:2023-11-28 22:48:29 26 4
gpt4 key购买 nike

我使用 tomcat 9.0,slf4j 进行日志记录。问题是日志文件太大(17GM - 我看到的最大值)。我为日志创建了基于 java 的删除系统。因为 tomcat 每天都会创建新的日志文件。但这是一个意想不到的时刻。 Tomcat 会尽可能创建日志文件,有时它可能会使用以前的文件。例如今天是 16 号。此文件可使用至 18 日。这就是尺寸变大的原因。即使配置正确(对于我的情况)日志创建,我也可能在一个文件中有 2 天的日志。例如,从 16 日下午 1:00 到 17 日中午 12:00。

所以,我想以某种方式配置旋转。有人可以帮忙吗?

最佳答案

slf4j 只是一个接口(interface),您必须使用 log4j、logback、common-logging 等(slf4j 的实现)。

如果您使用的是 slf4j + logback,您可以在 logback.xml 文件中设置您的 rollingPolicy。它可以是 TimeBasedRollingPolicy、Size 或两者的组合。

例如,要设置基于时间的策略以每天创建日志文件并将较旧的文件移动到归档文件夹并只保留最近 30 天的日志,您可以将其添加到您的 logback.xml 文件中

<appender name="app" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${catalina.home}/logs/appname/app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${catalina.home}/logs/archive/appname/app.%d{yyyy-MM-dd}.old.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>[%X{key}]%date{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX", UTC} %-5level %logger{35}.%M[%L]-[%t] - %msg %n</pattern>
</encoder>

关于java - 配置 Tomcat 日志轮转窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48646546/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com