Voici ce que j'essaie de faire: Je veux 2 fichiers journaux: Le premier enregistre le niveau INFO et le niveau supérieur pour toutes les parties des applications, mais enregistre aussi DEBUG et certains paquets. La seconde ne connecte ERROR et plus à travers tous les paquets. Je suis sûr que c'est probablement trivial mais je n'arrive pas à le comprendre. Voici le fichier de configuration que j'utilise actuellement:Configurer plusieurs fichiers journaux dans log4j en utilisant les catégories
log4j.rootLogger=INFO,console,R
#console appender
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern = %t %-5p %c{2} - %m%n
#file appender
log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.DatePattern = '.'yyyy-MM-dd
log4j.appender.R.File = log/log.txt
log4j.appender.R.layout = org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern = [%d{ISO8601}]%5p%6.6r[%t]%x(%F:%L) - %m%n
#Specific log levels
log4j.category.com.mypackage1=DEBUG
log4j.category.com.mypackage2=DEBUG
Ceci n'a pas la partie log d'erreur, évidemment. Mon idée de base était d'ajouter un autre appender et de mettre son niveau de log à ERROR mais les catégories semblent le surcharger et aussi leurs informations, ce qui n'est pas ce que je veux. La raison pour laquelle ils sont là est parce que les autres paquets jettent beaucoup d'informations dont nous n'avons pas besoin quand nous mettons au debug et c'est ainsi que nous le contournerons. Je pense qu'il pourrait y avoir une meilleure approche globale mais ceci est mon premier fichier de configuration log4j. MISE À JOUR: Un collègue a suggéré d'utiliser 2 enregistreurs comme mentionné dans le message auquel kdgregory est lié dans son commentaire (Different log4j layout for debug and error?). Les gens là-bas semblaient penser que c'était une mauvaise idée, mais personne n'a jamais expliqué pourquoi. Cela semble un peu hacky mais ça fait ce dont nous avons besoin. Quelles sont les principales raisons de ne pas utiliser cette méthode (autre que d'avoir à gérer 2 enregistreurs différents)?
Cette question peut vous aider (pas sûr qu'elle soit qualifiée de "doublon exact"): http://stackoverflow.com/questions/1008122/different-log4j-layout-for-debug-and-error – kdgregory