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