gpt4 book ai didi

xml - log4j2 - 限制日志文件的数量

转载 作者:数据小太阳 更新时间:2023-10-29 01:39:14 26 4
gpt4 key购买 nike

我有以下 log4j2.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration status="OFF">
<appenders>
<RollingFile name="testLog" fileName="test.log" filePattern="" append="false">
<PatternLayout pattern="[%t] %-5level - %msg%n%n"/>
<SizeBasedTriggeringPolicy size="5mb" />
</RollingFile>
</appenders>
<loggers>
<logger name="TestsLogger" level="trace" additivity="false">
<appender-ref ref="testLog"/>
</logger>
<root level="debug">
<appender-ref ref="testLog"/>
</root>
</loggers>
</configuration>

我怎样才能修改这个配置

  1. 在达到 5mb 限制后创建一个新文件,而不是一遍又一遍地覆盖同一个日志文件。如果有 test1.log、test2.log 之类的东西就好了。
  2. 如何限制在 1. 中创建的部分日志文件的数量?我想要实现的是如下方案:

    creating test1.log [present log files: test1.log]
    test1.log - 5mb limit reached
    creating test2.log [present log files: test1.log, test2.log]
    test2.log - 5mb limit reached
    creating test3.log [present log files: test2.log, test3.log]
    test3.log - 5mb limit reached
    creating test4.log [present log files: test3.log, test4.log]
    and so on

有谁知道,如何实现这样的目标?当然,如果仅使用 log4j2 就可以实现类似的功能,那就太好了。但也许有一种方法可以将 log4j2 与某种外部程序结合起来,这些外部程序可以与主 Java 应用程序一起运行并删除多余的日志文件,同时保持最后两个日志文件的完整性。因此,如果有人至少对 1. 有建议,它可能已经是我正在寻找的东西。因为我可能会为第 2 部分编写程序。当然,如果第二部分也可以用 log4j2 完成,那就太棒了。

最佳答案

到目前为止,我从未使用过 log4j2,但 RollingFileAppender 的文档给你很多配置示例。

有趣的是你接缝是这样的(使用 DefaultRolloverStrategy):

<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>
<SizeBasedTriggeringPolicy size="5 MB"/>
</Policies>
<DefaultRolloverStrategy max="20"/>
</RollingFile>

关于xml - log4j2 - 限制日志文件的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13502722/

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