Maison  >  Article  >  Java  >  Explication détaillée de la façon d'utiliser log4j pour enregistrer les journaux dans Spring Boot

Explication détaillée de la façon d'utiliser log4j pour enregistrer les journaux dans Spring Boot

黄舟
黄舟original
2017-03-30 17:55:322098parcourir

Cet article présente principalement comment introduire log4j dans Spring Boot, ainsi que quelques utilisations de base. 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 prend également en charge les journaux courants, tels que : Java Util Logging, Log4J, Log4J2 et Reconnexion. Chaque enregistreur peut être configuré pour utiliser la console ou le fichier pour générer le contenu du journal. Cet article présente principalement comment utiliser log4j pour enregistrer des journaux dans Spring Boot. Si vous êtes intéressé, venez apprendre ensemble.

Présentation de la dépendance log4j

Lors de la création du projet Spring Boot, nous avons introduit spring-boot-starter, qui inclut spring-boot-starter-logging, cette dépendance Le contenu est
Logback, le framework de journalisation par défaut de Spring Boot, donc avant d'introduire log4j, nous devons exclure les dépendances de ce package, puis introduire les dépendances de log4j, comme suit :

<dependency> 
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter</artifactId>
 <exclusions>
 <exclusion> 
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-logging</artifactId>
 </exclusion>
 </exclusions>
</dependency>
<dependency> 
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-log4j</artifactId>
</dependency>

Configurer log4j .properties

Après avoir introduit la dépendance log4j, il vous suffit d'ajouter le fichier de configuration log4j.properties dans le répertoire src/main/resources pour commencer à configurer et à utiliser les journaux d'application.

Sortie de la console

Grâce à la configuration suivante, définissez le niveau de sortie du journal racine sur INFO et l'appender sort la sortie stdout vers la console

# LOG4J配置
log4j.rootCategory=INFO, stdout
# 控制台输出
 log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
 log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n

Sortie dans un fichier

Dans l'environnement de développement, nous sortons simplement vers la console sans aucun problème, mais dans l'environnement de production ou de test, le contenu du journal peut être conservé pour faciliter le traçage la cause du problème.
Vous pouvez ajouter le contenu de l'appender suivant pour le générer quotidiennement dans différents fichiers. Vous devez également ajouter un fichier nommé à l'appender log4j.rootCategory
De cette façon, le journal racine peut être généré dans logs/. all.log dans le fichier.

#
log4j.rootCategory=INFO, stdout, file
# root日志输出
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.file.file=logs/all.log 
log4j.appender.file.DatePattern=&#39;.&#39;yyyy-MM-dd 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n

Sortie de classification

1. La sortie peut être effectuée selon différents packages. En définissant un appender qui génère une sortie vers logs/my.log et en définissant le niveau de journalisation
sous le package com.didispace au niveau DEBUG, l'appender est défini sur un appender nommé didifile qui génère une sortie vers logs/my.log.

# com.juzi包下的日志配置
log4j.category.com.juzi=DEBUG, didifile
# com.didispace下的日志输出
log4j.appender.didifile=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.didifile.file=logs/my.log 
log4j.appender.didifile.DatePattern=&#39;.&#39;yyyy-MM-dd 
log4j.appender.didifile.layout=org.apache.log4j.PatternLayout 
log4j.appender.didifile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L ---- %m%n

peut classer différents niveaux, comme la sortie du niveau ERREUR dans un fichier journal spécifique. La configuration spécifique peut être la suivante.

og4j.logger.error=errorfile 
# error日志输出
log4j.appender.errorfile=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.errorfile.file=logs/error.log 
log4j.appender.errorfile.DatePattern=&#39;.&#39;yyyy-MM-dd 
log4j.appender.errorfile.Threshold = ERROR 
log4j.appender.errorfile.layout=org.apache.log4j.PatternLayout 
log4j.appender.errorfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n

Ce qui précède est une explication détaillée de la façon d'utiliser log4j pour enregistrer des journaux dans Spring Boot. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !

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