logging 配置主要用于控制应用程序的日志输出行为,可以通过配置定制日志的格式、级别、输出位置等,该文章用于介绍Springboot中yml配置文件的配置logging方法
输出日志级别
从上到下,级别增强(记录信息的详细程度)
- ERROR:用于记录严重错误或异常,若出现了这个日志,则说明系统中发生了严重的错误,可能导致系统奔溃或功能无法正常实现
- WARN:输出出现问题的警告信息,这些问题不影响系统的正常运行,主要目的是为了提醒开发和运维人员,让他们能够提早发现并解决问题。
- INFO:用于记录普通的操作信息和运行状态。这些日志通常用于了解应用程序的正常运行情况。
- DEBUG:用于记录详细的调试信息。这些日志通常包含比 INFO 级别更多的细节,适用于调试和开发阶段,帮助开发者了解系统的内部工作流程。
- TRACE:这个级别用于记录最详细的调试信息。该日志含有最详细的信息,详细到函数的每一步执行情况,参数传递和返回值等,非常适合在开发阶段或问题排查时使用。
按不同包进行配置
这些日志可以细分到各个包下进行一对一配置
logging:
level:
org.springframework.cloud.gateway: TRACE
org.springframework.http.server.reactive: DEBUG
org.springframework.web.reactive: DEBUG
reactor.ipc.netty: DEBUG
reactor.netty: DEBUG
按不同组进行配置
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
保存日志文件
指定日志文件保存的路径
logging:
path: /var/log/project-log
指定不同包日志文件保存的文件名和路径
logging:
file:
name: /var/log/my.log
控制文件是否输出在控制台上
logging:
console:
enabled: true
日志文件保存的格式
logging:
pattern:
# log文件输出格式
file: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
日志细粒度配置
可以进行极其细致的配置
logging:
level:
root: INFO
logger:
# 为 com.example.service 包下的所有类设置 DEBUG 级别
com.example.service:
level: DEBUG
file: /var/log/myapp/service.log
# 为 com.example.controller 包下的所有类设置 WARN 级别
com.example.controller:
level: WARN