问题扩展jog4j RollingFileAppender rollOver()访问级别

时间:2009-03-26 12:45:26

标签: java logging log4j access-modifiers

我正在尝试扩展RollingFileAppender,以便即使没有消息进入日志系统也会轮换。通常,在消息到达时调用rollOver方法,并进行时间检查以触发旋转。

我的RollingFileAppender版本每隔x秒会调用rollOver,这样即使没有消息到达,我也能保证旋转。

现在我的问题是RollingFileAppender rollOver的访问级别修饰符为无修饰符。因此,我不能像我希望的那样每隔x秒调用一次。

  /**
     Rollover the current file to a new file.
  */
  void rollOver() throws IOException {

现在查看代码,我无法弄清楚为什么它不需要modifer,我决定将类带入我的包并调用rollOver。

现在感觉很脏,如果我想调用rollOver,我还有其他选择吗?

1 个答案:

答案 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?