Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml log4j2-限制日志文件的数量_Xml_Logging_Configuration_Log4j_Log4j2 - Fatal编程技术网

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

Xml log4j2-限制日志文件的数量,xml,logging,configuration,log4j,log4j2,Xml,Logging,Configuration,Log4j,Log4j2,我有以下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] %-5le

我有以下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>

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

到目前为止,我从未使用过log4j2,但是的文档提供了很多配置示例

有趣的是,您可以这样做(使用
DefaultRolloverStrategy
):


%d%p%C{1.}[%t]%m%n

很抱歉反应太晚。我只是想谢谢你的回答。这将作为今后可能进一步使用log4j2的一个例子。@FrVaBe:这是完美的。只是一个注意事项,请包括所有的文件名和文件模式,使这项工作。
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
<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>