Question

J'écris un appender log4j personnalisé, et je veux compter sur un autre appender configuré comme solution de repli, dans le cas où ma (base de données) appender échoue.

Comment puis-je garantir l'ordre de construction des appenders? La méthode de activateOptions() de mon appender tente d'accéder à un autre appender et échoue parce qu'il ne construit / encore enregistré.

Était-ce utile?

La solution

Je suggère de déplacer / copier les options de configuration pour la deuxième appender dans la configuration de votre appender personnalisé puis créer la deuxième appender-vous à l'intérieur de votre appender personnalisé.

Autres conseils

Si vous utilisez un fichier XML dans configration, vous pouvez profiter du fait que l'ordre de déclaration de appenders dans un fichier de questions XML. Le appender qui est déclaré premier sera configuré en premier. Si vous utilisez un fichier de configuration au format .properties, leur ordre de configuration dépend de l'ordre dans lequel ils sont référencés par les exploitants forestiers catégories a.k.a.. Le appender qui est des références premier sera configuré en premier.

Vous pouvez également jeter un oeil à logback, le successeur de log4j qui est très bien documenté.

S'il se trouve qu'il n'y a pas une façon de faire ce que vous voulez, vous pouvez créer et configurer le appender « de secours » à l'intérieur de votre appender « primaire », plutôt que de laisser à LOG4J configurer. Pas une solution très agréable, mais je ne suis pas au courant d'une façon d'ajouter des dépendances entre appenders autrement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top