article Annuaire
La différence entre les différents types de log 1
1.1 différence Logger et LoggerFactory
Logger
De log4j
son sac. Si Logger.getLogger
la nécessité d'un log4j
paquet de pot, de cette façon ne peut compter que sur log4j
LogFactory
de l' common-logging
emballage. Si elle est utilisée LogFactory.getLog
, peut être réalisé par une interface enregistreur de journal commun Sinon log4j
, les programmes ne sont pas affectés. apache
Le common-logging
paquet est une interface de journal commun à travers cette couche intermédiaire peut facilement spécifier que log dans les systèmes d'extrémité. Augmenter la flexibilité du système.
Si log4j
elle n'existe pas, commons-logging
sélectionnera séparément une autre classe de mise en œuvre de l' exploitation forestière. Cela garantit que le programme ne dispose pas d'utiliser log4j
les fichiers journaux à l'
aide des LoggerFactory
motifs pour améliorer la flexibilité:
- Tout d' abord,
classpath
trouver leur propre fichier de configurationcommons-logging.properties
, si elle est trouvée, dont l'utilisation définieLog
classe de mise en œuvre; - Si vous ne trouvez pas le
commons-logging.properties
fichier, puis savoir si la variable d'environnement système définiorg.apache.commons.logging.Log
, qui est utilisé pour trouver la définition de laLog
classe de mise en œuvre; - Sinon, pour voir
classpath
s'il y a dansLog4j
le paquet, se trouve, il est automatiquement utiliséLog4j
comme la classe de mise en œuvre de l' exploitation forestière; - Dans le cas contraire, utiliser
JDK
leur propre classe de mise en œuvre de l' exploitation forestière (JDK1.4
après que la classe de mise en œuvre de l' exploitation forestière); - Sinon, utilisez
commons-logging
un journal simple pour fournir leur propre classe de mise en œuvreSimpleLog
;
1.2 codeur et différence mise en page
encoder
: Il y a deux principaux travaux: unevent
événement de conversion en un ensemble debyte
tableaux, les données de l' octet de sortie vers le fichier converti.encoder
Les composants dans les0.9.19
versions ultérieures avant l'introduction venir. Dans les versions précédentes, enappender
utilisantlayout
(unevent
événement de conversion sous forme de chaîne), puis utilisezjava.io.writer
l'objet pour écrire une chaîne dans un fichier.- Depuis
0.9.19
après la sortie,Fileappender
et son désir d'utiliser la sous - classe estencoder
plus utilisélayout
. - Ce qui
layout
vient de terminer unevent
événement de conversion en une chaîne de cette fonction. De plus,layout
vous ne pouvez pas contrôler la chaîne à écrire dans le fichier.layout
Vous ne pouvez pas intégrerevent
l'événement dans un groupe. Et parencoder
rapport à non seulement la conversion peut être effectuée en fonction du format, mais aussi les données d'écriture dans un fichier. - Ce qui
patternLayoutEncoder
est le plus couramment utiliséencoder
, il contient lapatternLayout
plupart des travaux