我的log4j.properties
中有以下配置log4j.rootLogger=ERROR,FA
log4j.appender.FA=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.FA.RollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.FA.RollingPolicy.FileNamePattern=.\\logs\\app.log-%d{dd-MM-yyyy}
log4j.appender.FA.File=.\\logs\\app.log
log4j.appender.FA.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.FA.layout.ConversionPattern=%d %p %t %c: %m%n
log4j.appender.FA.Append=true
有几天没有报告错误,并且文件没有在连续几天滚动,直到报告下一个错误。 当appender设置为ERROR级别时,它将不会滚动日志文件,直到报告了一些错误消息。
我的问题是我们是否可以开发一些机制,以便每隔午夜就会滚动文件,而不管appender是否记录了某些错误消息?
我有一个java应用程序,我们正在使用log4j api进行日志记录,因此可以理解Java或Log4j中的解决方案。
提前致谢
注意: - 由于大小限制
,我无法将记录器级别设置为Info / Debug答案 0 :(得分:1)
在Log4j 2.5中使用新的CronTriggeringPolicy
,我找到了一个没有虚线的解决方案,我发布了here。不幸的是,它仍然需要一些自定义插件代码,因为DefaultRolloverStrategy
的行为只是删除空文件。