1

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

我的 RollingFileAppender 版本将每 x 秒调用一次 rollOver,这样即使没有消息到达,我也可以保证轮换。

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

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

现在查看代码,我不明白为什么它不需要修改器,我决定将该类放入我的包中并调用 rollOver。

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

4

1 回答 1

1

你当然可以使用反射来做到这一点。

从主干或标签 1.2.15 中提取的源代码:svn at apache

public // synchronization not necessary since doAppend is alreasy synched
void rollOver() {
  File target;
  ...

我们谈论的是同一件事吗:log4j-1.2.15?

于 2009-03-26T14:39:49.343 回答