Position de sortie du journal par défaut de l'application SpringBoot

Continuez à créer, accélérez la croissance ! C'est le 5ème jour de ma participation au "Nuggets Daily New Plan · October Update Challenge", cliquez pour voir les détails de l'événement

Aperçu

L'une des principales fonctionnalités des applications SpringBoot est la déconfiguration, et le système de journalisation ne fait pas exception. Par défaut, vous ne faites aucune configuration. Tant que vous introduisez des dépendances pertinentes, vous pouvez voir la sortie du journal dans la console. Bien sûr, vous pouvez aussi simplement configurer le fichier de configuration pour modifier le comportement de la sortie du journal. Cet article explique principalement la configuration de la sortie de journal par défaut et comment l'utiliser via la version SpringBoot 2.7.0.

Simple à utiliser

  1. Importer les dépendances associées

Les dépendances suivantes sont introduites dans le projet project :

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-logging</artifactId>
  <version>2.7.0</version>
</dependency>
复制代码

Les références Web générales importeront automatiquement cette dépendance et n'ont pas besoin d'être importées manuellement.

  1. ajouter un journal
@SpringBootApplication
@Slf4j
public class LogApplication
{
    public static void main( String[] args )
    {
        SpringApplication.run(LogApplication.class, args);

        log.trace("Trace 日志...");
        log.debug("Debug 日志...");
        log.info("Info 日志...");
        log.warn("Warn 日志...");
        log.error("Error 日志...");
    }
}
复制代码

Ajoutez un journal de vérification à la classe de démarrage pour obtenir le résultat :

  1. sommaire
  • Par défaut, aucune configuration n'est effectuée et le journal n'est envoyé qu'à la console.
  • Le niveau de journalisation, de petit à grand, est trace < debug < info < warn < error < fatal. Étant donné que le niveau de journalisation par défaut est défini sur INFO, les journaux de suivi et de débogage de l'exemple ci-dessus ne sont pas visibles.

Nous pouvons modifier ce comportement par défaut via certains éléments de configuration.

Configuration liée au journal

  1. Modifier le niveau de journalisation logging.level

Il vous suffit de passer logging.level 包名le contrôler finement le niveau de sortie de chaque journal de package différent, ou vous pouvez logging.level.rootmodifier le niveau de journalisation globalement. Les 6 niveaux de journalisation suivants peuvent être configurés : trace < debug < info < warn < error < fatal.

résultat:

  1. groupe de journaux journalisation.groupe

S'il y a beaucoup de packages dans le journal, il sera difficile de définir le niveau pour chaque package de la même catégorie.Heureusement, le système de journal dispose d'une fonction de regroupement des journaux. Par exemple, selon le module, les packages de nos modules utilisateurs sont regroupés dans un groupe, puis les logs de ce groupe sont modifiés de manière uniforme.

// 设置分组
logging.group.user=com.alvinlkk.user,com.alvinlkk.person
// 对分组修改日志级别
logging.level.user=debug
复制代码

SpringBoot a deux web et sql de regroupement intégrés pour nous, comme suit :

  1. Consigner la sortie dans le fichier logging.file.name

Si vous souhaitez générer le journal dans un fichier, vous pouvez spécifier le nom du fichier journal en configurant comme suit :

logging.file.name=logdemo.log
复制代码

logging.file.name 可以只指定日志文件名,也可以指定日志文件全路径,例如下面这样:

logging.file.name=/Users/alvin/Documents/javaboy/logdemo.log
复制代码

运行结果:

  1. 日志输出到目录中logging.file.path

如果你只是想重新定义输出日志文件的路径,也可以使用 logging.file.path 属性, 生成的文件名为spring.log, 如果同时配置了logging.file.path和logging.file.name,logging.file.path配置会失效。

logging.file.path=/Users/alvin/CodeRepo/Person/springboot-demo/springboot-03-log
复制代码

  1. 修改日志输出格式

logging.pattern.console修改控制台的日志输出格式。

logging.pattern.file修改文件中的日志输出格式。

# 修改在控制台输出的日志格式
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger : %msg%n
# 修改输出到文件的日志格式
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger : %msg%n
复制代码

符号说明:

%d{HH:mm:ss.SSS}:日志输出时间

%-5level:日志级别,并且使用 5 个字符靠左对齐

%thread:输出日志的进程名字,这在 Web 应用以及异步任务处理中很有用

%logger:日志输出者的名字

%msg:日志消息

%n:平台的换行符

  1. 归档相关的日志
归档配置 说明 默认值
logging.logback.rollingpolicy.clean-history-on-start 是否在启动时清理归档日志文件。 false
logging.logback.rollingpolicy.file-name-pattern 归档日志文件名的模式。 ${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz
logging.logback.rollingpolicy.max-file-size 单个文件最大日志文件大小 10MB
logging.logback.rollingpolicy.max-history 要保存的存档日志文件的最大数量 7
logging.logback.rollingpolicy.total-size-cap 日志文件被删除之前,可以容纳的最大大小 0B

actuator查看日志

配置了logging.file.name后,日志内容也可以通过actuator的端点查看。

  1. 引入actuator相关的jar
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
复制代码
  1. 配置暴露所有的断点
management.endpoints.web.exposure.include=*
复制代码
  1. 查看日志内容

Le navigateur peut saisir l'adresse http://localhost:8080/actuator/logfile pour afficher le contenu du journal, comme indiqué ci-dessous :

Résumer

Bien que l'implémentation de journal par défaut soit très pratique, elle présente certaines limites. Elle ne peut implémenter qu'une configuration très simple du journal. Si vous souhaitez implémenter une configuration de journal plus précise, vous devez utiliser la configuration native de l'implémentation de journal. , comme le chemin de classe de Logback. :logback.xml, le chemin de classe de Log4j:log4j.xml, etc.

faire référence à

www.hangge.com/blog/cache/…

www.cnblogs.com/lenve/p/141…

www.cnblogs.com/bigdataZJ/p…

blog.csdn.net/CSDN2497242…

\

おすすめ

転載: juejin.im/post/7150073533110943775