2011-06-02 2 views
1

J'ai créé un appender du type NTEventLogAppender comme ceci:Log4J Comment configurer la connexion FOLDER (KEY) sur NTEventLogAppender

log4j.appender.EVA=org.apache.log4j.nt.NTEventLogAppender 
#log4j.appender.EVA.log=TestLog 
log4j.appender.EVA.layout=org.apache.log4j.PatternLayout 
log4j.appender.EVA.source=TestSource 
log4j.appender.EVA.layout.ConversionPattern=[%c][%l][%p][%thread]: %m%n 

Comme vous pouvez le voir, sur la ligne actualité commentée j'ai essayé de régler le TestLog journal , de sorte que l'erreur de journal soit stockée dans un journal spécifique de l'Observateur d'événements pour mon application, au lieu du journal d'application par défaut de l'Observateur d'événements.

Si j'uncoment une ligne je une erreur sayng que la propriété du journal n'existe pas:

**log4j:WARN No such property [log] in org.apache.log4j.nt.NTEventLogAppender.** 

Est-il même possible de le faire car il utilise Log4Net?

Merci

+0

Qu'est-ce que l'enfer? Voulez-vous dire que Log4Net vous permet de faire cela et que Log4j ne le fait pas? Juste un simple oui ou non ferait l'affaire ;-) – RedEagle

Répondre

0

Je ne pense pas que ce soit possible dans log4j:

Pourquoi ne puis-je mapper mes noms de l'enregistreur aux enregistreurs qui apparaissent dans le NT journal des événements lors de l'utilisation le NTEventLogAppender?

Unfotunately, les noms de l'enregistreur sont codées en dur dans le message DLL de ressource (voir question précédente sur NTEventLogAppender), donc il n'y a pas un moyen facile de remplacer ceux dynamiquement ... en fait, je ne suis pas pense qu'il est possible de le faire, comme vous auriez à modifier les ressources DLL pour chaque application. Comme la plupart des applications natives ne utilisent la colonne de l'enregistreur quand même ...

Source: http://logging.apache.org/log4j/1.2/faq.html#a2.10

Questions connexes