我正在尝试扩展RollingFileAppender,以便即使没有消息进入日志记录系统,它也会旋转。通常,当消息到达并进行时间检查以触发旋转时,将调用rollOver方法。
我的RollingFileAppender版本会每隔x秒调用rollOver,这样即使没有消息到达,我也可以保证轮换。
现在我的问题是RollingFileAppender rollOver的访问级别修改器没有修改器。因此,我不能像我希望的那样每隔x秒调用一次。
/**
Rollover the current file to a new file.
*/
void rollOver() throws IOException {
现在看代码,我不知道为什么它不需要修饰符,因此我决定将类引入我的程序包并调用rollOver。
现在感觉很脏,如果我想打电话给rollOver,我还有其他选择吗?
最佳答案
您当然可以使用反射来完成。
从主干或标签1.2.15中提取的源代码:svn at apache
public // synchronization not necessary since doAppend is alreasy synched
void rollOver() {
File target;
...
我们是否谈论同一件事:log4j-1.2.15?