log4j, 2 fichiers de logs

log4j, 2 fichiers de logs - Java - Programmation

Marsh Posté le 20-09-2011 à 22:35:48    

Bonjour,
 
j'ai une classe "maClassePrincipale.java" qui m'affiche un fichier de log, pour ça pas de soucis.
Cette classe, selon certains cas fait appel à une autre classe "maClasseSecondaire.java" et j'aimerais que lorsque cette classe est appelée, un deuxième fichier de log soit créé.
Je voudrais en gros que le premier log m'affiche les messages de maClassePrincipale et le deuxième fichier m'affiche les messages de maClasseSecondaire.
 
J'arrive donc à créer les deux fichiers de log. SEULEMENT, le 2e fichier de log est TOUJOURS créé ! je voudrais qu'il ne soit généré que lorsque maClasseSecondaire est appelée. Si cette dernière n'est pas appelée, je ne dois pas générer de log
 
Voici la configuration de mon log4j

Code :
  1. log4j.rootLogger = DEBUG, logger_principal
  2. log4j.appender.logger_principal = org.apache.log4j.RollingFileAppender
  3. log4j.appender.logger_principal.FILE=principal.log
  4. log4j.appender.logger_principal.MaxFileSizz=10MB
  5. log4j.appender.logger_principal.MaxBackupIndex=10
  6. log4j.appender.logger_principal.layout=org.apache.log4j.PatternLayout
  7. log4j.appender.logger_principal.layout.ConversionPatter=%d{yyyy-MM-dd HH:mm:ss.SSS} - %p - %c -%m%n
  8. log4j.logger.com.package.MaClasseSecondaire=DEBUG, logger_secondaire
  9. log4j.appender.logger_principal = org.apache.log4j.RollingFileAppender
  10. log4j.appender.logger_principal.FILE=secondaire.log
  11. log4j.appender.logger_principal.MaxFileSize=10MB
  12. log4j.appender.logger_principal.MaxBackupIndex=10
  13. log4j.appender.logger_principal.layout=org.apache.log4j.PatternLayout
  14. log4j.appender.logger_principal.layout.ConversionPatter=%m%n


 
et voici comment je les déclare en java:

Code :
  1. public class MaClassePrincipale extends JavaTask implements JavaTaskListener {
  2. private static final Logger logger = Logger.getLogger(MaClassePrincipale.class)
  3. ...
  4. }


 
et la seconde classe:
 

Code :
  1. public class MaClasseSecondaire {
  2. private static final Logger logger = Logger.getLogger(MaClasseSecondaire.class);
  3. ...
  4. }


 
Si quelqu'un peut m'aider ça m’enlèverait une sacré épine du pied!

Reply

Marsh Posté le 20-09-2011 à 22:35:48   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed