(F.Y.I.我已经在互联网上搜索了很多文档。我正在使用storm-0.10.0-beta1。storm中log4j2的配置文件是worker.xml)
现在,我尝试使用log4j2。
我正在寻找删除旧日志的方法,但我找不到。部分配置如下。
<RollingFile name="SERVICE_APPENDER"
fileName="${sys:storm.home}/logs/${sys:logfile.name}.service"
filePattern="${sys:storm.home}/logs/${sys:logfile.name}.service.%d{yyyyMMdd}">
<PatternLayout>
<pattern>${pattern}</pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
</Policies>
<DefaultRolloverStrategy max="9"/>
</RollingFile>
起初,我期望删除超过3天的日志文件。
但事实上,事实并非如此。
所以,我想知道是否有办法删除旧日志。
如果有一条路我还没有找到,请通知我。
您可以在log4j的JIRA条目中找到更多的背景信息:
https://issues.apache.org/jira/browse/LOG4J2-524
它似乎是这样的情况,自动删除旧日志文件不工作,当你只使用TimeBasedTriggeringPolicy
从2.5开始,Log4j支持在每次滚动时执行的自定义删除操作。
您可以通过以下任意组合控制删除哪些文件:
需要更细粒度控制要删除哪些文件的用户可以使用任何支持的JSR-223脚本语言指定脚本条件。
请检查出留档,它有三个完整的例子,可能是有用的。
对于您的问题,此片段应该可以工作:
<RollingFile name="rollingFile"
fileName="/path/app.log"
filePattern="/path/app.%d{yyyy-MM-dd}.log"
ignoreExceptions="false">
. . .
<DefaultRolloverStrategy>
<!--
* only files in the log folder, no sub folders
* only rolled over log files (name match)
* only files that are 4 days old or older
-->
<Delete basePath="${sys:storm.home}/logs/" maxDepth="1">
<IfFileName glob="*.service.????????" />
<IfLastModified age="4d" />
</Delete>
</DefaultRolloverStrategy>
. . .
<RollingFile>
最后,要小心!没有办法恢复这样删除的文件。:-)
这是我的log4j2.yaml。现在,这个记录器在一天内创建一个文件,当这一天结束时,记录器将创建一个文件夹“归档”,并将旧的日志文件放在这个文件夹中。我需要删除7天前创建的所有旧日志。我做错了什么?请帮帮我
我正在尝试以编程方式配置log4j2v2。11.1作为DefaultRolloverStrategy的一部分,使用新的删除操作删除旧文件。 正如您可以从下面的代码中看到的,我已将系统设置为每天创建日志文件,并在文件大小达到1MB时滚动该文件。 我尝试使用两个条件将删除操作添加到DefaultRolloverStrategy中—IfFileName和IfLastModified。IfFileName
删除7天前的日志文件与log4j.xml 我正在尝试使用删除旧的日志文件,但它不起作用。 但是它在我的计算机上工作,但在Linux服务器上不工作。日志文件在Linux服务器上的存储路径是。 有人能帮忙吗。
问题内容: 我正在尝试将 log4j 配置为仅保留指定数量的备份文件或保留不超过一定年龄的文件。最终,我希望有 时间(每天)基于触发策略, 并保留30个备份文件或删除早于30天的文件。 经过一些研究后,我了解到在使用 时间策略 时无法指定备份文件的最大数量,但是遇到了这个问题https://issues.apache.org/jira/browse/LOG4J2-435和此文档片段http: //
我使用下面的log4j2。xml 我想要的是旧的日志文件被删除,如果累积的大小超过。但是log4j2首先删除最近修改的文件。https://logging.apache.org/log4j/2.x/manual/appenders.html说有一个路径排序参数可以做到这一点。有人能告诉我如何指定相反的将逻辑排序为默认值?
我最近一直在使用log4j2,遇到了一个问题。发生翻转时,活动日志文件保留其日志。是否可以清除日志文件,以便滚动的文件将只保留日志在名称中指定的时间段?