- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
由于我不会深入的原因,我被迫以编程方式配置 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/
我正在使用登录 akka 将日志写入文件,一切都很好,直到我的日志文件停止写入日志,也许它已满,所以我阅读了关于滚动策略的信息,这样我就可以创建其他文件,但我最终遇到了很多错误这是我的 logback
由于我不会深入的原因,我被迫以编程方式配置 log4j appender。 我想使用 RollingFileAppender,这样我就可以控制保留的最大文件数。 我还想将此附加程序设置为使用 Time
我们有一个自定义滚动策略,在 log4j 中声明如下: log4j.appender.testing.rollingPolicy=com.custom.appender.TimeBasedRollin
我尝试以这样的方式配置 log4j.xml,即文件将根据文件大小滚动,滚动文件的名称将是:“C:/temp/test/test_log4j-%d{yyyy-MM-dd -HH_mm_ss}.log"我
我正在使用 log4j-1.2.16.jar 和 apache-log4j-extras-1.2.17.jar。 我想启用在文件名后附加日期的滚动文件。但是显示此错误并且文件未按预期旋转。 我的 lo
我是一名优秀的程序员,十分优秀!