Maison >Java >javaDidacticiel >Compréhension approfondie de l'introduction détaillée de la gestion des journaux de Spring Boot

Compréhension approfondie de l'introduction détaillée de la gestion des journaux de Spring Boot

黄舟
黄舟original
2018-05-11 11:16:291716parcourir

Cet article vous donne principalement une introduction approfondie aux informations pertinentes sur la gestion des journaux Spring Boot. L'introduction dans l'article est très détaillée. Les amis dans le besoin peuvent s'y référer.

Avant-propos

Spring Boot utilise Commons Logging pour tous les journaux internes, mais la configuration par défaut fournit également la prise en charge des journaux courants,
tels que : Java Util Logging , Log4J, Log4J2 et Logback. Chaque enregistreur peut être configuré pour utiliser la console ou le fichier pour générer le contenu du journal.

Format de sortie du journal

2016-08-19 10:22:04.233 INFO 7368 --- [   main] com.juzi.AsyncTest      : Started AsyncTest in 10.084 seconds (JVM running for 12.545)

Les éléments de contenu de sortie sont les suivants :

  • Heure et date — Précisions en millisecondes

  • Niveau de journal — ERREUR, AVERTISSEMENT, INFO, DEBUG ou TRACE

  • ID de processus

  • Séparateur — identifie le début du journal réel

  • Nom du thread — entre crochets (peut tronquer la sortie de la console)

  • Nom de l'enregistreur - utilise généralement le nom de classe du code source

  • Contenu du journal

Sortie de la console

Dans Spring Boot, les journaux de niveau ERROR, WARN et INFO sont configurés pour être affichés sur la console par défaut.

Nous pouvons passer au niveau DEBUG de deux manières :

1. Ajoutez l'indicateur –debug après avoir exécuté la commande, par exemple : $ java -jar myapp.jar –debug

2. Configurez application.properties dans debug=true Lorsque cet attribut est défini sur true, le principal Logger (y compris les conteneurs intégrés, hibernate, spring) affichera plus de contenu, mais vos propres journaux d'application ne seront pas affichés au niveau DEBUG. .

Sortie colorée

Si votre terminal prend en charge ANSI, définir une sortie colorée rendra le journal plus lisible. Pris en charge en définissant le paramètre application.properties dans spring.output.ansi.enabled.

1.JAMAIS : désactivez la sortie couleur ANSI (élément par défaut)

2.DETECT : vérifiera si le terminal prend en charge ANSI, si c'est le cas, utilisez la sortie colorée (élément recommandé)

3.TOUJOURS : utilisez toujours une sortie au format couleur ANSI. Si le terminal ne le prend pas en charge, il y aura beaucoup d'informations sur les interférences. Il n'est pas recommandé d'utiliser

. sortie du fichier

La configuration par défaut de Spring Boot sera uniquement sortie sur la console et ne sera pas enregistrée dans un fichier. Cependant, nous devons généralement l'enregistrer dans un fichier lorsque nous l'utilisons dans un fichier. environnement de production.

Pour augmenter la sortie du fichier, vous devez configurer l'attribut application.properties ou logging.file dans logging.path.

1.logging.file, fichier de paramétrage, peut être un chemin absolu ou un chemin relatif. Tels que : logging.file=my.log

2. logging.path, définissez le répertoire, le fichier spring.log sera créé dans le répertoire et le contenu du journal sera écrit, tel que : logging.path=/var/log

Le fichier journal sera tronqué lorsque la taille est de 10 Mo et un nouveau fichier journal sera généré. Les niveaux par défaut sont : ERREUR, AVERTISSEMENT, INFO *

Contrôle de niveau<.>

dans Spring In Boot, il vous suffit de le configurer dans

pour terminer le contrôle du niveau de journalisation. application.properties

Format de configuration :

logging.level.*=LEVEL

1.

 : préfixe de contrôle du niveau de journalisation, * est le nom du package ou le nom du Logger logging.level

2.LEVEL : option TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF


Exemple :

Toutes les classes du package sont sorties au niveau DEBUGlogging.level.com.juzi=DEBUG com.juzi

Le journal racine est généré au niveau WARN logging.level.root=WARN

Configuration du journal personnalisé

Étant donné que le service de journalisation est généralement initialisé avant la création de ApplicationContext, il le fait Il n'est pas nécessaire de passer par le contrôle du fichier de configuration Spring.

Par conséquent, le contrôle et la gestion des journaux peuvent toujours être bien pris en charge via les propriétés du système et les fichiers de configuration externes Spring Boot traditionnels.

Selon différents systèmes de journalisation, vous pouvez organiser le nom du fichier de configuration selon les règles suivantes, et il sera chargé correctement :

    1.Logback:logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy logback日志配置
     2.Log4j:log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xml
     3.Log4j2:log4j2-spring.xml, log4j2.xml
     4.JDK (Java Util Logging):logging.properties
Spring Boot recommande officiellement d'utiliser des noms de fichiers avec - spring. Comme configuration de votre journal (par exemple en utilisant logback-spring.xml au lieu de logback.xml)

Format de sortie personnalisé

Dans Spring Boot, vous pouvez transmettre

application.properties

🎜>Configurez les paramètres suivants pour contrôler le format de sortie :

logging.pattern.console 1.
 : Définissez le style de sortie vers la console (JDK Logger n'est pas pris en charge)

logging.pattern.file 2.

 : Sortie du style de définition dans un fichier (JDK Logger n'est pas pris en charge)


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn