2009-04-14 15 views
0

Nous avons plusieurs fichiers journaux comme journal de base de données, weblog, quartzlog dans notre application. Tout journal provenant de fichiers sous package/app/base de données ira dans le journal de la base de données. Tout journal provenant de fichiers sous package/app/offline sera envoyé au journal quartzlog. Ce dont nous avons besoin maintenant est - vouloir diriger les staments de notation d'un du fichier java sous/app/base de données pour être sortie à quartzlog au lieu du journal de base de données. Comment peut-on sélectionner un fichier journal particulier dans un fichier java?sélection d'un fichier journal

Répondre

1

Vous devez définir l'appender approprié qui se connecte au fichier souhaité. Lisez this short introduction pour voir comment vous pouvez le faire.

Puis dans le fichier de configuration, vous pouvez demander à tous les messages d'un paquet spécifique pour aller dans le appender sélectionné:

log4j.logger.my.package = DEBUG, myFileAppender 

EDIT:

Je crois que dans log4j seule résolution paquet est possible - vous ne pouvez pas utiliser un appender par fichier ou méthode. Vous pouvez essayer de contourner ce problème en ajoutant une couche supplémentaire au-dessus de log4j ou en implémentant votre propre appender.

Par exemple, au lieu de l'utilisation de log.debug:

my.loggerproxy.log.debug(message); 

Si vous ne devez le faire à partir d'une seule méthode, le ci-dessus sera suffisant. Indiquez simplement au package de proxy de logger d'être connecté dans un fichier différent.

+0

Merci. Oui, nous l'avons déjà. Mais ce dont j'ai besoin, ce sont des instructions de sortie d'une méthode particulière (Dites une méthode dans un délégué) pour aller dans un autre fichier de sortie (quartz). –

+0

EDIT: Merci d'avoir expliqué. Je vais explorer plus –

+0

Tous les pointeurs sur l'ajout d'une couche supplémentaire sur le log4 aideraient. Je ne pouvais pas comprendre. Merci –

Questions connexes