La différence entre l'Enregistreur.getLogger(className) et LogFactory.getLog(className )?
Je connais un paquet de différence
1) org.apache.log4j.Logger logger = Logger.getLogger(clazz);
2) org.apache.commons.logging.Log log = LogFactory.getLog(clazz);
La première utilise les enregistreurs de via log4j
et la seconde utilise commons.logging
. Nous avons un grand projet où dans certaines classes, les bûcherons sont configurés à l'aide de log4j
et, dans certains cas, de ses commons.logging
.
J'ai trouvé un fichier de propriétés log4j.Est-il un bien semblable fichier pour commons.logging
? Où puis-je configurer pour commons-logging ?. Je suis incapable de voir les logs générés par commons-logging
.
Toute aide est appréciée.
Commons logging enveloppements d'autres journalisation des bibliothèques; si vous utilisez des log4j il va utiliser ce fichier de configuration.
Donc commons-logging utilise Log4j en interne? Veuillez expliquer ce que vous entendez. J'ai très peu d'idée de ce.
vous pouvez utiliser commons-logging.fichier de propriétés
Que diriez-vous de regarder les communes de la journalisation des docs? Il s'enroule autres journalisation des bibliothèques, et pas seulement log4j. Vous devriez, cependant, créer tous vos journaux de la même manière.
Donc, si j'ai un log4j.jar dans mon classpath et log4j fichier de propriété, la commune d'enregistrement automatiquement référence à log4j propriété ?
Donc commons-logging utilise Log4j en interne? Veuillez expliquer ce que vous entendez. J'ai très peu d'idée de ce.
vous pouvez utiliser commons-logging.fichier de propriétés
Que diriez-vous de regarder les communes de la journalisation des docs? Il s'enroule autres journalisation des bibliothèques, et pas seulement log4j. Vous devriez, cependant, créer tous vos journaux de la même manière.
Donc, si j'ai un log4j.jar dans mon classpath et log4j fichier de propriété, la commune d'enregistrement automatiquement référence à log4j propriété ?
OriginalL'auteur Shashank Kadne | 2012-04-20
Vous devez vous connecter pour publier un commentaire.
Oui, commons-logging est une façade API était supposer résumé, vous sous-jacent de journalisation (dans la pratique il y avait un choix entre log4j et
java.util.logging
), de sorte que vous pouvez passer de l'un à l'autre sans toucher le code - simplement en changeant de bibliothèques disponibles sur le CLASSPATH.Malheureusement, en raison de certaines erreurs de conception, il a eu des problèmes complexes de la classe de chargement d'environnements, comme les serveurs d'application. Actuellement, il est effectivement remplacé par slf4j.
Dans votre cas, je vous recommandons d'adopter un API - soit Log4J ou commons-logging, même si commons-logging sera (probablement) le délégué à log4J. Vous pouvez également migrer à l'aide de SLF4J et installer combler les Api, mais c'est un peu plus avancé.
Nurkiewicz: je peux voir les bûcherons configuré à l'aide de log4j, tandis que ceux de commons-logging ne sont pas d'être généré. Quelques problème de configuration que vous en pensez?
bien sûr, merci!
Welllllll... il n'a pas été supprimé encore 😉
les deux extraits de code que vous avez fournies sont équivalentes, les deux vont utiliser l'enregistreur nommé comme
clazz
. Si vous pensez que ceci est un problème de configuration (peut-être commons-logging n'est pas à l'aide de Log4J, après tout?) commutateur commons-logging enregistreur avec Log4J pour un moment et voir si ça aide.OriginalL'auteur Tomasz Nurkiewicz