Logging 编辑Log4j2默认滚动策略';s在代码中删除操作

Logging 编辑Log4j2默认滚动策略';s在代码中删除操作,logging,log4j2,rollover,Logging,Log4j2,Rollover,我已经编写了一些代码,可以在代码中编辑我的RollingFileAppenders DefaultRolloverStrategy- DefaultRolloverStrategy newStrategy = DefaultRolloverStrategy.createStrategy(Integer.toString(max), "1", "max", "2", null, true, config); Appender appender = config.g

我已经编写了一些代码,可以在代码中编辑我的RollingFileAppenders DefaultRolloverStrategy-

DefaultRolloverStrategy newStrategy = DefaultRolloverStrategy.createStrategy(Integer.toString(max), "1", "max", 
            "2", null, true, config);
    Appender appender = config.getAppender("RollingFile");
    ((RollingFileAppender) appender).getManager().setRolloverStrategy(newStrategy);
但是,因为在我的xml文件中,我在RollingFileAppender下有这个-

<Delete basePath="logs/">
    <IfFileName glob="logs/${baseFileName}-*.log.gz" />
    <IfLastModified age="2d" />
</Delete>
我想也许你以某种方式创建了一个删除动作并将其添加到动作数组customActions

根据这一页-

有一个删除操作,但我不确定它是否是要使用的正确操作,或者它是否是应该放入操作[]CustomActions中的操作类型

在该删除操作中,您可以指定路径条件,并且在路径条件中,它具有此方法-

accept(Path baseDir, Path relativePath, BasicFileAttributes attrs)
这将允许您指定基本目录、relativePath(可能这就是我将信息放在IfFileName中的地方?)和BasicFileAttributes,其中一个属性是最后一次修改的,因此似乎适合

有人知道我在这里是否走上了正确的道路,这会起作用吗?或者说,在不构建新配置或编辑xml文件的情况下,是否有可能做到这一点

accept(Path baseDir, Path relativePath, BasicFileAttributes attrs)