gpt4 book ai didi

java - 具有每日滚动、gzip 和最大备份文件的 log4j 配置

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:16:27 26 4
gpt4 key购买 nike

有没有我可以使用的 appender 可以让我每天滚动、压缩和最大文件?

我可以通过以下配置使用 apache-log4j-extras 压缩每日滚动文件:

<appender name="debugFileRolling" class="org.apache.log4j.rolling.RollingFileAppender">
<!-- The active file to log to -->
<param name="file" value="debug.log" />
<param name="append" value="true" />
<param name="encoding" value="UTF-8" />
<rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<param name="FileNamePattern" value="/%d{yyyy-MM-dd}-debug.log.gz" />
</rollingPolicy>

<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %d [%t] %c: %m%n" />
</layout>
</appender>

但我不能像在 org.apache.log4j.RollingFileAppender 中那样指定 MaxBackupIndex(请注意两者之间的细微命名空间差异)。

我希望两者都不需要实现我自己的 FileAppenderTriggeringPolicyRollingPolicy

最佳答案

log4j 1.2 没有支持您所需的所有功能的附加程序。您必须使用自己的实现。

log4j2 似乎支持您的要求。请看一下 log4j2 documentation :

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="MyApp" packages="">
<Appenders>
<RollingFile name="RollingFile" fileName="logs/app.log"
filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="250 MB"/>
</Policies>
<DefaultRolloverStrategy max="20"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
</Configuration>

关于java - 具有每日滚动、gzip 和最大备份文件的 log4j 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19616641/

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