2009-03-26 6 views
1

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

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

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

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

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

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

+0

Какую версию log4j вы используете? Это публично в том, что я использую 1.2.14, а также в последнем 1.2.15. –

+0

1.2.15 Я вставил код выше из исходного кода –

ответ

1

Вы можете, конечно, сделать это, используя отражение.

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

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

мы говорим ли о том же: log4j-1.2.15?

+0

Спасибо Matthieu Я посмотрю –