Dan*_*n M 5 rollingfileappender log4j2
据我所知,log4j2中的RollingFileAppender不会在指定时间(例如-在一个小时结束时)翻转,而是在超过时间阈值后到达的第一个日志事件。
有没有一种方法可以触发事件,一方面会导致文件翻转,另一方面又不会-不会追加到日志中(或者会增加一些琐碎的事情,例如空字符串)?
不,没有任何(内置)方法可以做到这一点。没有后台线程监控翻转时间。
编辑:您可以创建一个实现的 log4j2 插件org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy(有关示例代码,请参阅内置的 TimeBasedTriggeringPolicy 和 SizeBasedTriggeringPolicy 类。)
如果您配置自定义触发策略,log4j2 将检查每个日志事件是否应该触发翻转(因此在实施该isTriggeringEvent方法时要小心,以免影响性能)。请注意,要获取自定义插件,您需要在log4j2.xml 文件packages的Configuration元素属性中指定类的包。
最后,如果这对您很有效,并且您认为您的解决方案也可能对其他人有用,请考虑将您的自定义触发策略贡献回 log4j2 代码库。
| 归档时间: |
|
| 查看次数: |
3196 次 |
| 最近记录: |