Configuration du journal par défaut de Springboot
SpringBoot est hors de la boîte et vous fournit le framework de journalisation par défaut, en utilisant Commons Logging , mais la configuration par défaut fournit également une prise en charge des journaux communs, tels que: Java Util Logging, Log4j, Log4j2 et Logback. Chaque enregistreur peut utiliser la console ou le fichier pour sortir du contenu du journal via la configuration.
Sortie de la console
En ce qui concerne les journaux, les cinq premiers niveaux de journal sont de niveau: du haut à bas, ERROR , WARN , INFO , DEBUG et TRACE , le niveau inférieur publiera des informations de haut niveau, et le niveau élevé n'écoutera pas les informations de bas niveau. Par exemple: si le niveau est défini sur ERROR , les informations sur WARN , INFO et DEBUG ne seront pas sorties. Dans le Springboot, ERROR , WARN et les niveaux INFO sont configurés par défaut de la console. Il n'y a pas de niveau FATAL dans le journal de bûche, il sera traité comme un niveau ERROR .
Nous pouvons passer au niveau de débogage de deux manières:
application.properties . Lorsque cette propriété est définie sur true, le journal de base (y compris les conteneurs intégrés, Hibernate et Spring) publiera plus de contenu, mais les journaux que vous avez appliqués par vous-même ne seront pas sortis au niveau de débogage.Sortie colorée
Springboot prend en charge la sortie du journal couleur depuis la version 1.4.0. Si votre terminal prend en charge ANSI, le réglage de la sortie de couleur rendra le journal plus lisible. Prise en charge de la définition du paramètre spring.output.ansi.enabled dans application.properties .
NEVER : Désactiver la sortie de couleur ANSI (élément par défaut)DETECT : Vérifiera si le terminal prend en charge ANSI. Si oui, utilisez la sortie de la couleur (élément recommandé)ALWAYS : utilisez toujours un format de couleur ANSI pour sortir. Si le terminal ne le prend pas en charge, il y aura beaucoup d'informations sur les interférences. Il n'est pas recommandé de l'utiliser.Sortie de fichier
La configuration par défaut de Springboot ne sera sortie que de la console et ne sera pas enregistrée dans des fichiers, mais nous devons généralement enregistrer dans les fichiers lors de l'utilisation de l'environnement de production.
Pour augmenter la sortie du fichier, vous devez configurer logging.file ou logging.path dans application.properties .
logging.file : définissez le fichier, qui peut être un chemin absolu ou un chemin relatif. Par exemple: logging.file = my.loglogging.path : Définition du répertoire, le fichier Spring.log sera créé sous ce répertoire et le contenu du journal sera écrit, tel que: logging.path = / var / logLe fichier journal sera tronqué à une taille de 10 Mo, résultant en de nouveaux fichiers journaux. Les niveaux par défaut sont: Erreur, avertissement, informations
Contrôle de niveau
À Springboot, il vous suffit de configurer le contrôle de niveau de l'achèvement de la journalisation dans application.properties .
Format de configuration: logging.level. * = Niveau
logging.level : Préfixe de contrôle de niveau de journal, * est le nom du package ou le nom du journalLEVEL : Options Trace, débogage, info, avertissement, erreur, mortel, désactivéPar exemple:
DEBUG .WARNConfiguration du journal personnalisé
Si vous ne souhaitez pas utiliser la configuration par défaut, ajoutez simplement votre propre fichier de configuration de journal. Étant donné que les services de journalisation sont généralement initialisés avant ApplicationContext , ils n'ont pas à être contrôlés via le fichier de configuration de Spring . Par conséquent, le contrôle et la gestion du journal peuvent toujours être bien pris en charge via les propriétés du système et les fichiers de configuration externes de démarrage à ressort traditionnel.
Selon différents systèmes de journalisation, vous pouvez organiser le nom du fichier de configuration en fonction des règles suivantes et elle peut être chargée correctement:
Springboot Recommandations officielles pour utiliser un nom de fichier avec -spring comme configuration de journal (comme l'utilisation de logback-spring.xml au lieu de logback.xml)
Format de sortie personnalisé
Dans Springboot, vous pouvez contrôler le format de sortie en configurant les paramètres suivants dans application.properties :
logging.pattern.console : définit la sortie de style à la console (JDK Logger n'est pas pris en charge)logging.pattern.file : définit le style de sortie dans le fichier (JDK Logger n'est pas pris en charge)Ces formats peuvent également être définis directement dans le fichier de configuration du journal, plutôt que dans le fichier de configuration de l'application.
Modèles de fichiers de configuration de journal commun
<? xml version = "1.0" Encoding = "UTF-8"?> <FIFIGIGURATION> <! - Définissez l'adresse de stockage du fichier journal et n'utilisez pas de chemins relatifs dans la configuration de la logback -> <propriété name = "log_home" value = "d: / logs" /> <! converterClass = "org.springframework.boot.logging.logback.colorconverter" /> <conversionRule Conversionword = "wex" converterclass = "org.springframework.boot.logging.logback.whitespacethrowableproxyverter" /> <ConversionRule Conversionword = "wex" converterClass = "org.springframework.boot.logging.logback.extendendwhitespacethrowableproxyConverter" /> <! - Format de journal couleur -> <propriété name = "console_log_pattern" value = " HH: MM: SS.SSS}) {FAINT}% CLR ($ {log_level_pattern: -% 5p})% clr ($ {pid: -}) {magenta}% clr (-) {FAINT}% clr ([% 15.15t]) {faint} % CLR (% - 40.40logger {39}) {cyan}% CLR (:) {FAINT}% m% n $ {log_exception_conversion_word: -% wex}} "/> <! - Formation de console -> <appender name =" Console "> <Encoder> <! - Formate Output:% d représente le date, le thread, le thread, le thread, le thread, le fil, % -5Level: Level affiche 5 caractères à partir de la gauche% MSG: Message de journal,% n est un caractère Newline -> <! - <mattern>% d {yyyy-mm-dd hh: mm: ss.sss} [% thread]% -5level% logger {36} -% msg% n </pattem> -> <atmate> {console_log_pattern} <Charset> UTF8 </CARSTET> </coder> </Pender> <! - Générez des fichiers journaux tous les jours -> <appender name = "file"> <rollingPolicy> <! - Nom de fichier Sortie par fichier journal -> <filenamepattern> </rollingPolicy> <Ecoder> <mattern>% d {yyyy-mm-dd hh: mm: ss.sss} [% thread]% -5level% logger {36} -% msg% n </matter> </coder> </ Appender> <! - Niveau de sortie du logger du journal (package.class) -> <logger> <! name = "org.springframework.web.servlet.mvc.method.annotation.exceptionhandlerexceptionResolver" niveau = "debug"> <appender-ref ref = "console" /> <appender-ref ref = "file" /> </ logger> <logger name = "org.springframework.boot" niveau = "debug" Hibernate SQL -> <! - <Logger name = "org.hibernate.type.descriptor.sql.basicBinder" niveau = "trace" /> <logger name = "org.hibernate.type.descriptor.sql.basicextractor" lax = "Debug" /> <logger Nom = "Org.hibernate.SQUL =" LIBUG = " /> <logger name = "org.hibernate.engine.queryParameters" niveau = "debug" /> <logger name = "org.hibernate.engine.query.hqlQueryPlan" niveau = "Debug" /> -> <! - Lognet Niveau -> <root Level = "Info" /> <appender-ref ref = "file" /> </ root> <! - log de manière asynchrone à la base de données -> <! - <appender name = "db"> log asynchronement à la base de données <Connectionsource> Pool de connexion </ DataSorce> <DeuvreClass> com.mysql.jdbc.driver </DrivingClass> <url> jdbc: mysql: //127.0.0.1: 3306 / databasename </url> <user> root </ user> <sword> root </potword> </ataasource> </ connectionource> </ appender> -> </ configuration>Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.