log4j.properties Résumé:
1. Introduction
Log4j est un projet open source d'Apache. En utilisant LOG4J, nous pouvons contrôler la destination de la livraison des informations sur le journal, les fichiers, les composants GUI, les serveurs de socket, les journalistes des événements NT, les démons Unix Syslog, etc.; Nous pouvons également contrôler le format de sortie de chaque journal; En définissant le niveau de chaque information de journal, nous pouvons contrôler le processus de génération de journaux plus attentivement.
Log4j se compose de trois composants importants: la priorité des informations du journal, la destination de sortie des informations du journal et le format de sortie des informations du journal. La priorité des informations sur les journaux est de haut en bas. Erreur, avertissement, informations et débogage, qui sont utilisés pour spécifier l'importance de ces informations de journal; La destination de sortie des informations du journal spécifie si le journal sera imprimé sur la console ou le fichier; et le format de sortie contrôle le contenu d'affichage des informations de journal.
2. Fichier de configuration
En fait, vous ne pouvez pas non plus utiliser des fichiers de configuration, mais configurez l'environnement log4j dans votre code. Cependant, l'utilisation des fichiers de configuration rendra votre application plus flexible.
Log4j prend en charge deux formats de fichiers de configuration, l'un est un fichier de format XML et l'autre est un fichier de format de propriétés. Ci-dessous, nous introduisons la méthode d'utilisation du format de propriétés comme fichier de configuration:
Exemple:
log4j.rootlogger = info, a1 log4j.appenden
1. Configurez le journaliste racine, sa syntaxe est:
LOG4J.ROOTLOGGER = [NIVEAU], APPENDERNAME, APPENDERNAME,…
Parmi eux, le niveau est la priorité de l'exploitation forestière, divisée en off, mortelle, erreur, avertissement, info, débogage, tout ou le niveau que vous définissez. LOG4J recommande d'utiliser seulement quatre niveaux, avec la priorité de haute à faible, à savoir l'erreur, la prévient, les informations et le débogage. Selon le niveau défini ici, vous pouvez contrôler les commutateurs au niveau correspondant des informations de journal dans l'application. Par exemple, si le niveau d'information est défini ici, toutes les informations de journal de niveau de débogage dans l'application ne seront pas imprimées.
Annexe Spécifie où les informations de journal sont sorties. Vous pouvez spécifier plusieurs destinations de sortie en même temps.
2. Configurer l'appenner de destination de sortie des informations de journal, dont la syntaxe est:
log4j.appender.appendername = entièrement.qualified.name.of.appenden
Parmi eux, les annexes fournies par LOG4J sont les suivantes:
org.apache.log4j.consoleAppender (console), org.apache.log4j.fileAPpender (fichier), org.apache.log4j.dailyrollingFileAppender (créer un fichier journal chaque jour), org.apache.log4j.rollingFileAppder (créer un nouveau fichier lorsque la taille de fichier atteint la taille spécifiée), org.apache.log4j.writerAppender (envoyer des informations de journal au format de flux à n'importe quel endroit spécifié)
(1).
Threshold = Warn: Spécifie le niveau de sortie le plus bas des messages de journal. ImmédiateFlush = true: la valeur par défaut est vraie, ce qui signifie que tous les messages seront immédiatement sortis. Target = System.err: Par défaut, c'est: System.out, spécifiez la console de sortie
(2) .FileAPpender Options
Threshold = Warn: Spécifie le niveau de sortie le plus bas des messages de journal.
ImmédiateFlush = true: la valeur par défaut est vraie, ce qui signifie que tous les messages seront immédiatement sortis.
File = mylog.txt: spécifie que le message est sorti dans le fichier mylog.txt.
APPEND = FALSE: La valeur par défaut est vraie, ce qui signifie l'ajout du message au fichier spécifié. Faux signifie écraser le message au contenu de fichier spécifié.
(3).
Threshold = Warn: Spécifie le niveau de sortie le plus bas des messages de journal.
ImmédiateFlush = true: la valeur par défaut est vraie, ce qui signifie que tous les messages seront immédiatement sortis.
File = mylog.txt: spécifie que le message est sorti dans le fichier mylog.txt.
APPEND = FALSE: La valeur par défaut est vraie, ce qui signifie l'ajout du message au fichier spécifié. Faux signifie écraser le message au contenu de fichier spécifié.
DatePattern = '.' Yyyy-ww: Faites défiler le fichier une fois par semaine, c'est-à-dire générer un nouveau fichier chaque semaine. Bien sûr, vous pouvez également spécifier mensuel, semaine, jour, heure et minute. C'est-à-dire que le format correspondant est le suivant:
1) '.' Yyyy-mm: mensuel
2) '.' Yyyy-ww: hebdomadaire
3) '.' Yyyy-mm-dd: tous les jours
4) '.' Yyyy-mm-dd-a: deux fois par jour
5) '.' Yyyy-mm-dd-hh: horaire
6) '.' Yyyy-mm-dd-hh-mm: par minute
(4).
Threshold = Warn: Spécifie le niveau de sortie le plus bas des messages de journal.
ImmédiateFlush = true: la valeur par défaut est vraie, ce qui signifie que tous les messages seront immédiatement sortis.
File = mylog.txt: spécifie que le message est sorti dans le fichier mylog.txt.
APPEND = FALSE: La valeur par défaut est vraie, ce qui signifie l'ajout du message au fichier spécifié. Faux signifie écraser le message au contenu de fichier spécifié.
MaxFilesize = 100KB: Le suffixe peut être KB, MB ou GB. Lorsque le fichier journal atteindra cette taille, il fait défiler automatiquement et le contenu d'origine sera déplacé vers
fichier mylog.log.1.
MaxbackupIndex = 2: spécifie le nombre maximum de fichiers de défilement pouvant être généré.
3. Configurez la disposition des informations du journal, et sa syntaxe est:
LOG4J.APPENDER.APPENDERNAME.LAYOUT = FOLLOD.QUALIFIED.NAME.OF.LAYOUT.CLASS
log4j.appender.appendername.layout.option1 = value1
…
log4j.appender.appendername.layout.option = valluen
Parmi eux, la mise en page fournie par LOG4J est la suivante:
org.apache.log4j.htmllayout (mise en page sous forme de table html),
org.apache.log4j.patternlayout (le mode de mise en page peut être spécifié de manière flexible),
org.apache.log4j.simplelayout (contient le niveau et la chaîne d'informations des informations de journal),
org.apache.log4j.ttcclayout (y compris le temps, le thread, la catégorie, etc. de la génération de journaux)
4. Paramètres de format de sortie
Dans le fichier de configuration, vous pouvez définir le format de sortie du journal via log4j.appender.a1.layout.ConversionPattern.
paramètre:
% P: La priorité des informations sur le journal de sortie, c'est-à-dire le débogage, les informations, les avertissements, l'erreur, le fatal,
% D: La date ou l'heure du temps de journal est sortie. Le format par défaut est ISO8601. Vous pouvez également spécifier le format par la suite, tel que:% d {yyy mmm dd hh: mm: ss, sss}, la sortie est similaire: 18 octobre 2002 22:10:28, 921
% R: Le nombre de millisecondes à sortir du démarrage de l'application à la sortie de ces informations de journal
% C: La catégorie à laquelle appartient les informations du journal de sortie est généralement le nom complet de la classe
% T: Sortie du nom de thread qui génère l'événement de journal
% L: L'événement de journal de sortie se produit à l'emplacement de l'occurrence de% C.% m (% f:% l), y compris le nom de la catégorie, le thread d'occurrence et le nombre de lignes dans le code. Exemple: testlog4.main (testlog4.java:10)
% X: La sortie de NDC (environnement de diagnostic imbriqué) associé au thread actuel, en particulier dans des applications telles que les servlets Java à plusieurs clients et multi-threading.
%%: Sortie un caractère "%"
% F: le nom du fichier où le message du journal de sortie a été généré
% L: numéro de ligne dans le code de sortie
% M: Le message spécifié dans le code de sortie et les informations de journal spécifiques générées
% N: Sortir une pause de ligne de retour du chariot, la plate-forme Windows est "/ r / n", et la plate-forme Unix est "/ n" pour sortir la pause des lignes d'information du journal
Des modificateurs peuvent être ajoutés entre les caractères% et le motif pour contrôler leur largeur minimale, leur largeur maximale et leur alignement de texte. comme:
1)% 20C: Spécifiez le nom de la catégorie de sortie, la largeur minimale est de 20. Si le nom de la catégorie est inférieur à 20, il est aligné à droite par défaut.
2)% - 20c: spécifie le nom de la catégorie de sortie. La largeur minimale est de 20. Si le nom de la catégorie est inférieur à 20, le signe "-" spécifie l'alignement gauche.
3)%. 30c: spécifiez le nom de la catégorie de sortie. La largeur maximale est de 30. Si le nom de la catégorie est supérieur à 30, les caractères supplémentaires à gauche seront coupés, mais s'ils sont inférieurs à 30, il n'y aura pas d'espaces.
4)% 20.30c: Si le nom de la catégorie est inférieur à 20, remplissez l'espace et alignez à droite. Si son nom est supérieur à 30 caractères, coupez les caractères qui sont interceptés de la gauche.
3. Chargez le fichier log4j.properties
1. Chargement en mode Spring, configuration et dans web.xml:
Spring charge log4j.properties, qui fournit un log4jconfigListener, qui peut charger le fichier de configuration log4j et le chemin de sortie log4j de l'emplacement spécifié via la configuration web.xml. Il convient de noter que
LOG4JConfigListener doit être avant l'auditeur de Spring.
web.xml
<! - Définissez l'emplacement du fichier de configuration log4j chargé par Sprng -> <context-param> <param-name> log4jconfiglocation </ param-name> <param-valeur> web-inf / classes / log4j.properties </ param-value> <param-name> log4jrefreshinterval </ param-name> <param-valeur> 10000 </ param-valeur> </ context-param> <outiner> <auditeur-class> org.springframework.web.util.log4jconfigeListener </ auteur-class> </diner>
2. Le fichier de ressources peut être chargé via la classe de ressources et il est intégré à l'utilisation.
classe publique TestLog4j {public static void main (String [] args) {PropertyConfigurator.configure ("d: /code/conf/log4j.properties"); Logger Logger = Logger.GetLogger (Classe TestLog4J.); logger.debug ("débogage"); Logger.Error ("Error"); }}4. Utiliser dans le programme
Avant d'utiliser LOG4J dans le programme, vous devez d'abord importer Commons-Logging.jar et logging-log4j-1.2.9.jar dans le chemin de classe et placer log4j.properties dans le répertoire racine SRC. Il sera prêt à l'emploi ensuite.
1. Obtenez l'enregistreur
En utilisant Log4J, la première étape consiste à obtenir l'enregistreur de journal, qui sera responsable du contrôle des informations du journal. La syntaxe est:
Public Static Logger GetLogger (nom de chaîne),
Obtenez le bûcheron par le nom spécifié et, si nécessaire, créez un nouvel enregistreur pour le nom. Le nom est généralement nommé dans cette classe, comme:
STATIC Logger Logger = Logger.GetLogger (serverwithlog4j.class.getName ());
Remarque: il est recommandé d'utiliser des communes-loging combinés avec log4j pour l'exploitation
Logger de journal statique privé = logfactory.getLog (yourclass.class);
2. Insérer des informations d'enregistrement (informations sur le journal du format)
Lorsque les deux étapes nécessaires sont terminées, vous pouvez facilement insérer les instructions de journalisation des différents niveaux de priorité partout où vous souhaitez enregistrer. La syntaxe est la suivante:
Logger.debug (message objet); Logger.info (message objet); Logger.warn (message objet); Logger.Error (message d'objet);
Par exemple:
import org.apache.log4j. *; classe publique LogTest ... {Static Logger Logger = Logger.GetLogger (LogTest.Class.getName ()); public static void main (String [] args) ... {// Chargez le fichier log4j.properties via PropertyConfigurator. Si vous n'ajoutez pas cette phrase, il y a Spring Loading PropertyConfigurator.Configure ("./srclog4j.properties"); Logger.debug ("Debug ..."); logger.info ("info ..."); Logger.warn ("Warn ..."); Logger.Error ("Error ..."); }}Résumer
Ce qui précède est l'application Log4j.Properties Configuration et chargement introduite par l'éditeur. J'espère que ce sera utile à tout le monde. Si vous avez des questions, veuillez me laisser un message et l'éditeur répondra à tout le monde à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!