SpringBoot项目通过yml文件配置日志

日志配置

# 服务端口
server:
  port: 8080
# 服务名称
spring:
  application:
    name: myDemo-server
# 日志配置
logging:
  # 日志级别
  level:
    root: info
  file:
    # 日志文件名格式
    name: /logs/${spring.application.name}.out.log
    # 最大日志文件大小(默认为10MB,这里为了测试归档,暂时设置为2KB)
    max-size: 2KB
    # 要保留的日志备份的总大小(默认为0B)
    total-size-cap: 1GB
    # 保存存档日志文件的最大天数(默认为7天)
    max-history: 20
  pattern:
    # 日志记录格式[组件名称] [时间戳] [日志级别] [类名.方法名] [消息文本]
    file: myDemo %d{yyyy-MM-dd HH:mm:ss.SSS} %p %C.%M %m %n
    # 根据文件大小归档,超过2KB自动归档,次日启动服务时也会自动归档
    rolling-file-name: /logs/%d{yyyyMMdd}/${spring.application.name}.out.log.%d{yyyy-MM-dd}.%i.gz

2021年11月08号更新

更新的可真快,之前的部分配置过时了,下面是新的,具体还是参照官方资料配置吧

# 服务端口
server:
  port: 8080
# 服务名称
spring:
  application:
    name: myDemo-server
# 日志配置
logging:
  # 日志级别
  level:
    root: info
  file:
    # 日志文件名格式
    name: /logs/${spring.application.name}.log
  pattern:
    # 日志记录格式[组件名称] [时间戳] [日志级别] [类名.方法名] [消息文本]
    file: myDemo %d{yyyy-MM-dd HH:mm:ss.SSS} %p %C.%M %m %n
  logback:
    rollingpolicy:
      # 根据文件大小归档,超过2KB自动归档,次日启动服务时也会自动归档
      file-name-pattern: /logs/%d{yyyyMMdd}/${spring.application.name}.out.log.%d{yyyy-MM-dd}.%i.gz
      # 最大日志文件大小(默认为10MB,这里为了测试归档,暂时设置为2KB)
      max-file-size: 2KB
      # 要保留的日志备份的总大小(默认为0B)
      total-size-cap: 1GB
      # 保存存档日志文件的最大天数(默认为7天)
      max-history: 20

分析

# 日志文件名格式
name: /logs/${spring.application.name}.out.log

这样写,会在项目所在根目录生成日志文件,而不是项目的根目录,若需要日志文件在项目的根目录下生成日志文件,只需要在最左边的“/”前加一个“.”就行了


pattern:
  # 日志记录格式[组件名称] [时间戳] [日志级别] [类名.方法名] [消息文本]
  file: myDemo %d{yyyy-MM-dd HH:mm:ss.SSS} %p %C.%M %m %n

%d{yyyy-MM-dd HH:mm:ss.SSS} 时间格式
%p 日志级别
%C 全限定类名(大写和小写是有区别的,见下面的例子)
%M 方法名
%m 消息文本
%n 换行

// myDemo %d{yyyy-MM-dd HH:mm:ss.SSS} %p %C.%M %m %n
myDemo 2021-07-08 20:59:58.658 INFO com.myDemo.controller.DemoController.hello 访问成功,返回[ Hello World] 
// myDemo %d{yyyy-MM-dd HH:mm:ss.SSS} %p %c.%M %m %n
myDemo 2021-07-08 21:02:32.475 INFO class com.myDemo.controller.DemoController.hello 访问成功,返回[ Hello World] 

pattern:
  # 根据文件大小归档,超过20MB自动归档,次日启动服务时也会自动归档
  rolling-file-name: /logs/%d{yyyyMMdd}/${spring.application.name}.out.log.%d{yyyy-MM-dd}.%i.gz

这个直接看例子吧,如下图(这个在路径前面加了点,所以出现在了项目的根目录,因为配置的最大日志文件大小是2KB,所以多访问几次就会出现日志归档情况且会按照配置里的格式归档)SpringBoot项目通过yml文件配置日志_第1张图片


更多的日志配置,请参考springboot下的配置文件
SpringBoot项目通过yml文件配置日志_第2张图片
这两个文件都是可以参考的,可以找到日志的相关配置,如下
SpringBoot项目通过yml文件配置日志_第3张图片

你可能感兴趣的:(SpringBoot,JavaWeb,spring,boot,java,spring)