Java Log4J2(2.6)-自动删除日志

Java Log4J2(2.6)-自动删除日志,java,logging,properties,log4j,log4j2,Java,Logging,Properties,Log4j,Log4j2,我目前正在尝试在新的Log4j2(2.6)中运行删除操作。 可以使用预先配置的条件(如文件大小或时间)删除日志文件。 关于这一点的信息在网络上非常罕见,但足以以某种方式进行配置。 不管怎样,这对我不起作用 我们正在使用一个属性文件来配置Log4J2。 文字完全按照预期工作,只有删除没有 下面是我们的属性文件的一个片段: 主日志文件 接下来是基本路径。在这里,我尝试了多种选择,如绝对路径或相对路径。 我也试过用斜杠,也试过不用斜杠。。。有些尝试会导致控制台出错,因此至少“/log”似乎是正确的方法

我目前正在尝试在新的Log4j2(2.6)中运行删除操作。 可以使用预先配置的条件(如文件大小或时间)删除日志文件。 关于这一点的信息在网络上非常罕见,但足以以某种方式进行配置。 不管怎样,这对我不起作用

我们正在使用一个属性文件来配置Log4J2。 文字完全按照预期工作,只有删除没有

下面是我们的属性文件的一个片段:

主日志文件 接下来是基本路径。在这里,我尝试了多种选择,如绝对路径或相对路径。 我也试过用斜杠,也试过不用斜杠。。。有些尝试会导致控制台出错,因此至少“/log”似乎是正确的方法(您也可以使用/log/)

在第三行“appender.rolling.strategy.action.maxdepth=1”中,我尝试使用更多的值进行Experimented。可以肯定的是,这不是问题所在。所有日志文件都在根目录中,因此1似乎是正确的

下一行:appender.rolling.strategy.action.condition.type=IfLastModified

我只是查看了代码,在它没有按预期工作之后,只是为了绝对确定,有一个函数被修改了。这一切都在那里,在控制台中我可以确认,它被调用并“工作”

下一步:appender.rolling.strategy.action.condition.age=1D 在这里,我也尝试了多种选择。1米,1天。。。可以肯定的是,我复制了目录中的旧日志文件,它们的时间超过1分钟和/或超过1天

appender.rolling.strategy.action.PathConditions.type=IfFileName

以下是要删除的文件的条件。我从*.log开始 但我也尝试了一个绝对名称logfile.log和许多其他可能性。我有.zip、.log、.txt

然后我讨论了软件可能无权删除该文件夹中的内容的可能性。我给了文件所有的权限和访问权,就像写、读、删除一样。 毕竟,我可以说,属性配置似乎很好,因为没有错误。 但它就是不起作用

啊,最后但并非最不重要的是,我还发现行尾的空格会导致错误。 没有空白。。。这根本不是问题所在

有人知道为什么它不起作用吗? 我感谢任何帮助或想法。 多谢各位

祝你今天愉快


Timm

我已经配置了与您的配置类似的
RollingFileAppender
。我认为你应该在你的属性中修改两点以使其工作-

appender.rolling.policies.time.interval = 1

appender.rolling.strategy.action.PathConditions.glob = *.zip

我已经配置了与您的配置类似的
RollingFileAppender
。我认为你应该在你的属性中修改两点以使其工作-

appender.rolling.policies.time.interval = 1

appender.rolling.strategy.action.PathConditions.glob = *.zip

是您可能正在寻找的东西吗?将内部Log4j2状态日志配置为跟踪可能很有用。这将显示滚动到控制台期间发生的详细情况。您好,谢谢您的回答。我已经将其配置为跟踪。这首先显示了一些配置错误,当我配置了一些错误的值时,例如:appender.rolling.strategy.action.condition.age=1(请注意,没有有效的规范,如month,day)。这会被记录下来。如果使用配置,则故障将消失。这就是为什么我得出结论,这是正确的。“我肯定还有别的事,”指针:你什么意思?我看到它有点xml配置,对吗?我发现:尝试添加默认的滚动策略``每天只允许3个文件,使用您想要的任何数字。但这不是我想要的。事实上,如果它清除所有或一个日志文件,我会非常高兴,但什么也没有发生。没有跟踪,没有错误,什么都没有。
可能是您正在寻找的东西?将内部Log4j2状态日志配置为跟踪可能很有用。这将显示滚动到控制台期间发生的详细情况。您好,谢谢您的回答。我已经将其配置为跟踪。这首先显示了一些配置错误,当我配置了一些错误的值时,例如:appender.rolling.strategy.action.condition.age=1(请注意,没有有效的规范,如month,day)。这会被记录下来。如果使用配置,则故障将消失。这就是为什么我得出结论,这是正确的。“我肯定还有别的事,”指针:你什么意思?我看到它有点xml配置,对吗?我发现:尝试添加默认的滚动策略``每天只允许3个文件,使用您想要的任何数字。但这不是我想要的。事实上,如果它清除所有或一个日志文件,我会非常高兴,但什么也没有发生。没有痕迹,没有错误,什么都没有。