我需要删除每天滚动的旧日志文件。要限制我尝试的文件数,请执行以下操作:
<RollingFile
name="FileAppender"
fileName="${baseDir}/mylog.log"
filePattern="${baseDir}/mylog %d{yyyy-MM-dd}.log.zip">
<PatternLayout pattern="%d{ISO8601} [%p] %c{1} - %m%n"/>
<Policies>
<TimeBasedTriggeringPolicy interval="1" />
</Policies>
<DefaultRolloverStrategy max="5">
</RollingFile>
但是日志没有被删除。
现在我在尝试
<DefaultRolloverStrategy>
<Delete basePath="${baseDir}" maxDepth="0">
<IfLastModified age="5d" />
</Delete>
</DefaultRolloverStrategy>
但我得到了一个错误:
错误DefaultRolloverStrategy包含无效元素或属性“Delete”
我的log4j2有点问题。xml文件?
我将maven与以下内容一起使用:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.0.1</version>
</dependency>
您需要升级您的Log4j版本。删除功能是在2.5中引入的。现在的最新版本是2.7。我建议使用最新的。
还要检查文档中的maxDepth属性。您可能应该指定1个或多个。零表示目录本身,而不是该目录中的文件。
问题内容: 我正在尝试将 log4j 配置为仅保留指定数量的备份文件或保留不超过一定年龄的文件。最终,我希望有 时间(每天)基于触发策略, 并保留30个备份文件或删除早于30天的文件。 经过一些研究后,我了解到在使用 时间策略 时无法指定备份文件的最大数量,但是遇到了这个问题https://issues.apache.org/jira/browse/LOG4J2-435和此文档片段http: //
我在webapp中使用以下log4j RollingFile appender。 使用时,当日志滚动时,旧文件将重命名为具有索引号的文件名(使用%i指定),因此所有旧文件都应重命名并保留。 我通过以下代码以编程方式滚动日志。 但是,在7次滚动之后,现有文件将被删除(未根据指定的重命名),并在新文件中继续日志。 这里有什么问题?
这是我的log4j2.yaml。现在,这个记录器在一天内创建一个文件,当这一天结束时,记录器将创建一个文件夹“归档”,并将旧的日志文件放在这个文件夹中。我需要删除7天前创建的所有旧日志。我做错了什么?请帮帮我
下面的log4j2配置无法删除我的旧文件。 我的日志文件是按照基于时间和基于大小的策略正确生成的,但我不明白为什么不删除这些文件。一切似乎都是正确的,我的日志中没有错误。 我没有前导或尾随空格。 我已经浪费了很多时间来调试这个。官方的log4j2文档很糟糕,因为它没有给出基于java属性的配置示例。 有没有办法解决这个问题? 谢啦
我使用下面的log4j2。xml 我想要的是旧的日志文件被删除,如果累积的大小超过。但是log4j2首先删除最近修改的文件。https://logging.apache.org/log4j/2.x/manual/appenders.html说有一个路径排序参数可以做到这一点。有人能告诉我如何指定相反的将逻辑排序为默认值?
我有一个目录,它是在执行应用程序后创建的。在使用应用程序的过程中,它充满了一些图片,这些图片是ComboBox的ItemsSource。在关闭应用程序之前,我试图通过设置new()或NULL来清除ItemsSource并删除该目录。如果目录为空,则会正常删除。但除此之外——什么都没有发生,也没有例外。我做错了什么? 创建目录并将路径值分配给“FeedBackScreenshotsPath” 删除