随笔都是学习笔记
随笔仅供参考,为避免笔记中可能出现的错误误导他人,请勿转载。

SpringBoot使用的 slf4j + logback:

日志输出信息为:

    --2022-11-08 14:44:56.836 -ERROR 10512 --- [           main] c.c.s.SpringBootLogging02Application     : ERROR 错误
格式为:
    %clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){blue} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
  •  %clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){blue}
    • %d :logback 的日期显示格式
    •   日期和时间:毫秒精度和容易排序。

  • %clr(${LOG_LEVEL_PATTERN:-%5p}) 
    •   日志级别:ERROR ,警告 ,INFO ,调试,或TRACE .

  • %clr(${PID:- }){magenta}
    •   进程ID

  • %clr([%15.15t]){faint} 
    •   A---分隔符,用于区分实际日志消息的开头。

  • %clr(%-40.40logger{39}){cyan}
    •   线程名称:括在方括号中(控制台输出时可能会被截断)。
  • %clr(:){faint}
    •   Logger name:这通常是源类名(通常缩写)
  • %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
    •   日志消息

其中%clr控制的 {blue} 是日志字体的颜色,例如:

%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){blue}

将时间的字体颜色设置为蓝色:

 

 

 ${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}

使用的是SpringBoot中的 ${value:value2} 占位符 + null 条件的表达式:SpringBoot首先会去环境中去取 LOG_DATEFORMAT_PATTERN 的值,如果为null,那么就会取 : 后的值 -yyyy-MM-dd HH:mm:ss.SSS

LOG_DATEFORMAT_PATTERN 对应的就是 logging.pattern.dateformat= 的值 

 

 

并且可以获取该值:

 

 

 

日志文件输出:

logging.file.name=文件名称.log 或 D:\xxx\xx\文件名称.log

如果没有指定路径那么就会在当前项目路径下创建该文件,并且该选项可以指定路径。

logging.file.path=路径

在指定路径下生成日志文件,该选项只能指定路径,不能指定文件名称,默认会使用spring.log 来记录。

 

自定义日志配置文件:

 

 

 

<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!--            日志输出格式-->
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{100} - %msg%n</pattern>
        </encoder>
    </appender>
    <!--    控制日志范围,只输出某个包下的日志-->
    <logger name="com.cdulm.springbootlogging03" level="TRACE"></logger>
    <!--    日志级别-->
    <root level="info">
        <appender-ref ref="STDOUT"/>
    </root>
</configuration>

当进行了自定义的日志文件的配置后,properties文件中的配置就会失效。

logback 结合 springProfiles 使用时需要使用以 logback-spring.xml 命名的配置文件

 

posted on 2022-11-08 16:19  时间完全不够用啊  阅读(698)  评论(0编辑  收藏  举报