2009-03-26 4 views
1

J'essaie d'étendre RollingFileAppender pour qu'il pivote même si aucun message ne parvient au système de journalisation. Normalement, la méthode rollOver est appelée lorsqu'un message arrive et une vérification de l'heure est effectuée pour déclencher la rotation.Problème d'extension de jog4j Niveau d'accès rollingFileAppender rollOver() Niveau

Ma version de RollingFileAppender appellera rollOver toutes les x secondes afin de garantir une rotation même si aucun message n'arrive. Maintenant, mon problème est que RollingFileAppender rollOver a un modificateur de niveau d'accès sans modificateur. Ainsi, je ne peux pas l'appeler toutes les x secondes comme je le souhaite.

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

Vous voyez maintenant le code que je ne peux pas comprendre pourquoi il ne nécessite pas et je l'ai modificateur décidé de mettre la classe dans mes paquets et appeler capotage.

Maintenant, cela semble sale ai-je d'autres alternatives si je veux appeler rollOver?

+0

Quelle version de log4j utilisez-vous? Il est public dans celui que j'utilise 1.2.14 et aussi dans le dernier 1.2.15. –

+0

1.2.15 J'ai collé le code ci-dessus sur le code source –

Répondre

1

Vous pouvez bien sûr le faire en utilisant la réflexion.

code source extrait du tronc ou de l'étiquette 1.2.15: svn at apache

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

parlons-nous de la même chose: log4j-1.2.15?

+0

Merci Matthieu Je jette un oeil –

Questions connexes