Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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
Java log4j2定期清理日志文件_Java_Log4j2_Rollingfileappender - Fatal编程技术网

Java log4j2定期清理日志文件

Java log4j2定期清理日志文件,java,log4j2,rollingfileappender,Java,Log4j2,Rollingfileappender,我使用log4j2来记录我的程序。在我的xml配置文件中,我有以下附录: <RollingFile name="General" fileName="log/logs/giornale.log" filePattern="log/logs/log-%d{yyyyMMdd}.log"> <PatternLayout> <Pattern>%d{HH:mm:ss,SSS} [%t] %-5level %logger{-1} - %msg%n&

我使用log4j2来记录我的程序。在我的xml配置文件中,我有以下附录:

<RollingFile name="General" fileName="log/logs/giornale.log" filePattern="log/logs/log-%d{yyyyMMdd}.log">
    <PatternLayout>
        <Pattern>%d{HH:mm:ss,SSS} [%t] %-5level %logger{-1} - %msg%n</Pattern>
    </PatternLayout>
    <Policies>
        <TimeBasedTriggeringPolicy />
    </Policies>
</RollingFile>

%d{HH:mm:ss,SSS}[%t]-5级别%logger{-1}-%msg%n
我需要的是一种配置它的方法,以便它能够自动删除所有超过n天的文件。
我已经发现了一些问题,如,但它们没有帮助,因为它们没有说明如何通过xml配置来实现
简而言之,在上面的代码片段中,我到底应该在哪里指示像“MaxBackupIndex”这样的参数?或者我应该使用哪个其他参数(我可以将其放在哪里)?

在“RollingFile”标记下添加以下标记。删除“策略”标记。你可能不需要它

  <DefaultRolloverStrategy>
    <Delete basePath="log/logs" maxDepth="2">
      <IfLastModified age="60d" />
    </Delete>
  </DefaultRolloverStrategy>

使用此配置,将自动删除超过60天的日志

有关更多配置信息,请参阅。

您可以将添加到xml中,如下所示-

<RollingFile name="General" fileName="log/logs/giornale.log" filePattern="log/logs/log-%d{yyyyMMdd}.log">

  <PatternLayout>
    <Pattern>%d{HH:mm:ss,SSS} [%t] %-5level %logger{-1} - %msg%n</Pattern>
  </PatternLayout>

  <Policies>
    <TimeBasedTriggeringPolicy />
  </Policies>

  <DefaultRolloverStrategy max="<specify maximum archive count>"/>

</RollingFile>

%d{HH:mm:ss,SSS}[%t]-5级别%logger{-1}-%msg%n
此外,您还可以对日志使用基于时间和大小的滚动组合,使用-

<Policies>
    <TimeBasedTriggeringPolicy interval="6" modulate="true"/>
    <SizeBasedTriggeringPolicy size="250 MB"/>
</Policies>

…使用RollingFileAppender和 基于时间和大小的触发策略,将创建多达7个存档 在同一天(1-7),根据 当前年份和月份,并将使用gzip和 当小时可被6整除时,将每6小时滚动一次