gpt4 book ai didi

java - RollingFileAppender 以编程方式设置 RollingPolicy

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:14:27 24 4
gpt4 key购买 nike

由于我不会深入的原因,我被迫以编程方式配置 log4j appender。

我想使用 RollingFileAppender,这样我就可以控制保留的最大文件数。

我还想将此附加程序设置为使用 TimeBasedRollingPolicy,因为它将自动负责压缩滚动文件。

问题是我看不到通过代码设置它的方法。当通过属性文件正常设置 RollingFileAppender 时,您将拥有:

log4j.appender.LOGFILE.RollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy

一定有办法设置这个....?任何人都可以通过 javadoc 挖掘和类方法的基本 eclipse 反射没有揭示解决方案:(

最佳答案

以下是我如何覆盖 log4j.xml 文件以将新文件名设置为名为“TheLoggerName”的记录器,其 RollingFileAppender 名为“TheAppenderName”。您或许可以以此为基础制定解决方案。

import org.apache.log4j.Logger;
import org.apache.log4j.rolling.RollingFileAppender;
import org.apache.log4j.rolling.TimeBasedRollingPolicy;

...

private static void afunction(String pTheNewFileName) {

Logger logger = Logger.getLogger("TheLoggerName");
RollingFileAppender rfappender = (RollingFileAppender) logger.getAppender("TheAppenderName");
TimeBasedRollingPolicy timeBasedRollingPolicy = (TimeBasedRollingPolicy) rfappender.getRollingPolicy();
timeBasedRollingPolicy.setFileNamePattern("newfilename%d{yyyy-MM}");
timeBasedRollingPolicy.activateOptions();
rfappender.activateOptions();
}

关于java - RollingFileAppender 以编程方式设置 RollingPolicy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5863054/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com