Проблема расширения уровня доступа jog4j RollingFileAppender rollOver () - PullRequest
1 голос
/ 26 марта 2009

Я пытаюсь расширить RollingFileAppender, чтобы он вращался, даже если в систему регистрации не поступают никакие сообщения. Обычно метод rollOver вызывается, когда приходит сообщение и выполняется проверка времени для запуска поворота.

Моя версия RollingFileAppender будет вызывать rollOver каждые x секунд, так что мне гарантирован поворот, даже когда сообщения не поступают.

Теперь моя проблема в том, что RollingFileAppender rollOver имеет модификатор уровня доступа без модификатора. Таким образом, я не могу назвать это каждые х секунд, как я хочу.

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

Теперь, глядя на код, я не могу понять, почему он не требует модификатора, и я решил добавить класс в мои пакеты и вызвать rollOver.

Теперь это кажется грязным, есть ли у меня другие альтернативы, если я хочу вызвать rollOver?

1 Ответ

1 голос
/ 26 марта 2009

Конечно, вы можете сделать это с помощью отражения.

Исходный код извлечен из транка или из тега 1.2.15: svn at apache

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

Говорим ли мы об одном и том же: log4j-1.2.15?

...