Maison >Java >javaDidacticiel >Explication détaillée sur la gestion des journaux de Spring Boot
Avant-propos
Spring Boot utilise Commons Logging dans tous les journaux internes, mais la configuration par défaut prend également en charge les journaux couramment utilisés, 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
TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network
Les éléments de contenu de sortie sont les suivants :
Heure et date - précises à 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 — Utilisez généralement le nom de classe du code source
Contenu du journal
Sortie de la console
configure les journaux de niveau ERROR, WARN et INFO à afficher par défaut sur la console dans Spring Boot.
Nous pouvons passer au niveau DEBUG de deux manières :
1. Ajoutez l'indicateur de débogage 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, l'enregistreur principal (y compris conteneur intégré, mise en veille prolongée, printemps) affichera plus de contenu, mais les journaux de votre propre application ne seront pas affichés au niveau DEBUG.
Sortie colorée
Si votre terminal prend en charge ANSI, la définition d'une sortie colorée rendra les journaux plus lisibles. Pris en charge en définissant le paramètre application.properties
dans spring.output.ansi.enabled
.
1.NE JAMAIS : désactiver 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, utiliser la sortie couleur (recommandé)
3. TOUJOURS : utilisez toujours une sortie au format de couleur ANSI, si le terminal ne le fait pas. prend en charge, il y aura beaucoup d'informations interférentes et il n'est pas recommandé d'utiliser
Sortie de fichier
La configuration par défaut de Spring Boot ne sera sortie que sur la console et ne sera pas enregistrée dans un fichier. Cependant, nous devons généralement l'enregistrer dans. un fichier lors de son utilisation dans un environnement de production.
Pour augmenter la sortie de fichier, vous devez configurer l'attribut application.properties
ou logging.file
dans logging.path
.
1. logging.file
, fichier de configuration, peut être un chemin absolu ou un chemin relatif. Par exemple : logging.file=my.log
2.logging.path
, Définissez le répertoire, le fichier spring.log
sera créé dans ce répertoire et le contenu du journal sera écrit, tel que : logging.path=/var/log
Le fichier journal sera lorsque la taille est de 10 Mo, il sera tronqué et un nouveau fichier journal sera généré. Les niveaux par défaut sont : ERREUR, AVERTISSEMENT, INFO *
Contrôle de niveau
Dans Spring Boot, il vous suffit de le configurer dans application.properties
pour terminer le contrôle du niveau de journalisation.
Format de configuration : logging.level.*=LEVEL
1.logging.level
: Préfixe de contrôle du niveau de journalisation, * est le nom du package ou le nom de l'enregistreur
2.NIVEAU : Options TRACE, DEBUG, INFO, WARN, ERREUR, FATAL, OFF
Exemple :
logging.level.com.juzi=DEBUG com.juzi
Package toutes les classes au niveau DEBUG Sortie
logging.level.root=WARN
Le journal racine est généré à WARN niveau
Configuration des journaux personnalisés
Étant donné que le service de journalisation est généralement initialisé avant la création de ApplicationContext, il n'est pas nécessaire de le contrôler via le fichier de configuration de 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 traditionnels de Spring Boot.
Selon différents systèmes de log, vous pouvez organiser le nom du fichier de configuration selon les règles suivantes, et il sera chargé correctement :
1. Reconnexion : logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy configuration du journal de connexion
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 journal (comme l'utilisation de logback- spring .xml, pas logback.xml)
Format de sortie personnalisé
Dans Spring Boot, vous pouvez contrôler le format de sortie en configurant les paramètres suivants dans application.properties
:
1.logging.pattern.console
: Définissez le style de sortie vers la console (JDK Logger n'est pas pris en charge)
2.logging.pattern.file
: Définir le style de sortie dans le 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!