当前位置:   article > 正文

【Spring Boot】SpringBoot 下在 yml 中的 logging 日志配置

【Spring Boot】SpringBoot 下在 yml 中的 logging 日志配置


前言

logging 配置主要用于控制应用程序的日志输出行为,可以通过配置定制日志的格式、级别、输出位置等。


输出日志的级别

控制哪些级别的日志会被记录,常见级别有:

  • ERROR:用于记录严重错误或异常,出现了这个日志,就说明程序中有严重的错误或者异常已经影响到了某些功能的运行。
  • WARN:输出出现问题的警告信息,但是这些问题还不影响系统的正常运行,主要是让开发者和运维人员注意这些可能引发问题的情况,以便在问题变得严重之前进行排查和处理。
  • INFO:用于记录普通的操作信息和运行状态。这些日志通常用于了解应用程序的正常运行情况。
  • DEBUG:用于记录详细的调试信息。这些日志通常包含比 INFO 级别更多的细节,适用于调试和开发阶段,帮助开发者了解系统的内部工作流程。DEBUG 日志通常包括方法的入口和出口、变量值、逻辑分支的走向等。
  • TRACE:这个级别用于记录最详细的调试信息。这些日志通常包含比 DEBUG 级别更细粒度的信息,适用于深度调试和分析问题。TRACE 日志详细到函数的每一步执行情况,参数传递和返回值等,非常适合在开发阶段或问题排查时使用。

当然,也可以针对不同的包或者类单独设置日志级别。

logging:
  level:
  	# 总级别
    root: INFO
    # 单个包的级别
    com.example: DEBUG
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

日志输出的位置

配置日志文件输出到的位置和名称。
如果想配置不同级别的日志输出的位置和名称,需要使用 Logback 配置文件。

logging:
  file:
    name: /var/log/my.log
  • 1
  • 2
  • 3

日志输出的格式

配置日志的输出格式,可以通过设置不同的模式来定制日志的输出样式。

logging:
  pattern:
  	# 控制台输出格式
    console: "%d{yyyy-MM-dd HH:mm:ss} - %msg%n"
    # log文件输出格式
    file: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

日志文件的存储路径

指定日志文件的存储路径,可以指定一个目录,日志文件将存储在这个目录下。

logging:
  path: /var/log/mylog
  • 1
  • 2

日志文件是否输出到控制台配置

配置是否将日志输出到控制台。

logging:
  console:
    enabled: true
  • 1
  • 2
  • 3

Logback 配置

Logback 是 Spring Boot 默认使用的日志框架,可以在 logging.logback 下进行更详细的配置,比如自定义 Logback 的配置文件。

logging:
  # 通过指定自定义的配置文件做更详细的配置
  config: classpath:logback-spring.xml
  • 1
  • 2
  • 3

日志分组配置

可以为日志级别配置创建分组,方便统一管理。允许将一组包或类分配到一个日志级别组中,从而简化日志级别的配置管理。通过分组配置,可以一次性为多个包或类设置相同的日志级别,而不需要单独为每个包或类进行配置

logging:
  group:
    service: com.example.service, com.example.service.impl
    repository: com.example.repository, com.example.repository.impl
    controller: com.example.controller
  level:
    root: INFO
    service: DEBUG
    repository: ERROR
    controller: WARN
    com.example.controller.special: TRACE
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

日志细粒度配置【logger】

细粒度的日志配置,可以为特定的类或包单独配置日志级别。这在需要针对某些特定部分进行详细调试时非常有用。

logging:
  level:
    root: INFO

  # 细粒度日志配置
  logger:
    # 为 com.example.service 包下的所有类设置 DEBUG 级别
    com.example.service:
      level: DEBUG
      file: /var/log/myapp/service.log

    # 为 com.example.repository.DBRepository 类设置 TRACE 级别
    com.example.repository.DBRepository:
      level: TRACE
      file: /var/log/myapp/repository.log

    # 为 com.example.controller 包下的所有类设置 WARN 级别
    com.example.controller:
      level: WARN

    # 为 com.example.util 包下的所有类设置 ERROR 级别
    com.example.util:
      level: ERROR
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23




End


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/656263
推荐阅读
相关标签
  

闽ICP备14008679号