dans mon log4j.properties j'ai:
static Logger log = Logger.getRootLogger();
3 Réponses :
Vous devez définir Chaque demande de journalisation activée pour un
L'enregistreur donné sera envoyé à tous
les annexiers dans cet enregistreur aussi
Comme les annexes sont plus élevées dans le
hiérarchie. En d'autres termes, les appendeurs
sont hérités d'additivement de la
Hiérarchie de l'enregistreur. Par exemple, si un
L'appendeur de la console est ajouté à la racine
enregistreur, puis toutes les journalistes activées
Les demandes seront au moins imprimées sur le
console. Si en plus un fichier
Appender est ajouté à un enregistreur, disons c,
puis activé les demandes de journalisation pour c
et les enfants de C imprimeront dans un fichier
et sur la console. Il est possible de
remplacer ce comportement par défaut pour que
L'accumulation d'appender n'est plus
additif en définissant l'additivité
Drapeau à faux. P>
blockQuote> Essayez ceci: p> additivité = false code>, iirc. De manuel log4j :
hmm, aurait dû lire la courte intro de log4J plus soigneusement correctement, car il hérite des annexiers des enregistreurs au-dessus de celui-ci dans la hiérarchie, et l'enregistreur racine est en haut de la hiérarchie évidemment. p> p>
Qu'est-ce que cela a à voir avec l'optimisation?
De quelle manière est-il "optimisation prématurée"? Ce n'est pas un "optimisation" du tout. Il se trouve que vous voulez une option différente de la valeur par défaut. Si la valeur par défaut était pour être fausse, cela signifierait qu'un bon nombre d'autres personnes devraient de la définir explicitement vers true. Je soupçonne plus de gens le veulent "vrai" que "faux".
L'attente est assez claire si vous avez lu les documents de l'intro Log4J ou l'avez utilisé
Si les propriétés de l'enregistreur ont été définies dans la classe Java, vous pouvez appeler la méthode logger.Shutdown () à la fin, préféremment dans le bloc enfin pour interdire la nature additive de l'enregistreur. P>