2009-11-03 5 views
13

j'ai un harnais de test d'intégration automatisée et souhaite rationaliser l'exploitation forestière (qui est réalisée en utilisant log4j)créer Programmatically différents fichiers journaux en utilisant log4j

J'ai un certain nombre de tests de haut niveau, chacun avec un identifiant et nécessite un fichier journal séparé par test. Comme les tests sont créés de manière aléatoire, les identifiants ne sont pas connus avant l'exécution. Par conséquent, je voudrais m'assurer que la journalisation dans chaque test de haut niveau est écrite dans le fichier journal pour ce test.

Je ne veux pas créer de niveaux de journal personnalisés, je ne veux pas non plus que la journalisation soit envoyée à tous les utilisateurs.

Est-ce que quelqu'un sait comment faire?

Répondre

23

Vous pouvez facilement appeler l'API de log4j par programmation, par ex.

FileAppender appender = new FileAppender(); 
// configure the appender here, with file location, etc 
appender.activateOptions(); 

Logger logger = getRootLogger(); 
logger.addAppender(appender); 

Le logger peut être l'enregistreur racine comme dans cet exemple, ou tout enregistreur dans l'arbre. Votre test d'unité peut ajouter son appender personnalisé lors de la mise en place, et supprimer l'appender (en utilisant removeAppender()) pendant le démontage.

Questions connexes