Comment utiliser log4j dans le code?
Nous devons introduire de l'exploitation forestière dans notre application. Nous avons décidé d'utiliser log4j est-il un bon choix. Aussi quelqu'un a dit que nous devrions utiliser le pattern singleton pour l'utilisation de log4j quelqu'un peut-il souligner comment et pourquoi?
- Envisager de slf4j au lieu de log4j.
- qu'est-ce que slf4j? Comment est-il différent..
Vous devez vous connecter pour publier un commentaire.
Si vous êtes l'introduction de la journalisation pour la première fois, puis utiliser Logback. Utiliser le fichier de configuration comme suggéré ici et l'ajouter au classpath. L'enregistrement automatique est configuré.
Dans le pattern singleton, le
Logger
champ est statique de la classe:L'alternative est de faire de la
Logger
champ non statique (qui est, chaque instance deSomeAwesomeClass
contient une référence à l'Logger
):Je ne pense pas que cela fait beaucoup de différence de l'itinéraire que vous choisissez comme je le crois, Log4j n'aura de cesse de revenir par le même
Logger
instance pour chaque instance deSomeAwesomeClass
. Vraiment, c'est juste inutile références de l'objet, de sorte que vous pourriez aussi bien utiliser le pattern singleton.Cependant, la non-pattern singleton devient nécessaire si vous faites quelque chose comme cela:
Plus tard...
Dans cet exemple, le
logger
champ correspond àAwesomerClass
, pasSomeAwesomeClass
.La raison pour laquelle Singleton est parfois préférable, c'est que nous voulons une seule instance de l'Enregistreur de par application, d'ailleurs, pour chaque nouvelle instance de l'enregistreur, il y aura un fichier nouvellement créé ou du remplacement d'un fichier journal existant.
Si Log4J est un bon choix ou pas dépendra de votre recherche ou votre expérience avec les différents enregistreurs disponibles. Il est tout au sujet de votre préférence (j'ai utiliser Log4J tout le temps que je trouve plus facile à configurer, mais je ne suis pas biaisé pour tous les enregistreurs de là).
Les plus célèbres, il y a:
Il y a quelques exemples sur le web qui vous montre comment utiliser les enregistreurs de frappe. Ici est une brève comparaison pour Log4J vs SLF4J.