2009-04-23 6 views
1

Avec log4j, je souhaite que le comportement de DailyRollingFileAppender soit tel que le déploiement du journal basé sur un modèle date puisse se produire lors du démarrage d'une application. MAIS une fois que l'application a démarré, je ne veux pas qu'elle fasse une rotation automatique des logs avant le redémarrage de l'application. Comment est-ce que je peux configurer log4j pour faire ceci?log4j - le journal du déclencheur se déclenche au démarrage de l'application

+0

En fin de compte, je suis allé pour une approche plus simple. Dans log4j.properties, j'utilise org.apache.log4j.FileAppender mais pour le paramètre 'Fichier', au lieu d'avoir un nom fixe, je le mets à $ {LOG_FILE}. Lorsque mon application démarre et avant que j'appelle PropertyConfigurator.configure (propriétés), je fais simplement: System.setProperty ("LOG_FILE", logFileName); pour me donner le nom du fichier journal que je veux. –

Répondre

1

Votre spécification vous semble vouloir démarrer l'application, créer un fichier journal d'une date particulière et continuer à l'utiliser jusqu'à son arrêt.

Si tel est le cas, vous pouvez créer votre propre implémentation Appender, peut-être de tirer FileAppender

1

Vous devrez paramétrer les propriétés de l'enregistreur par programmation en itérant sur tous les loggers, en récupérant votre logger et en demandant à ti de ne plus rouler. C'est le seul moyen que je pense.

Questions connexes