logback:spring boot集成配置及独立配置

spring boot日志框架spring内部日志框架JCLspring-boot-starter-logging默认slf4j+logback<dependencies> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <scope>compile<
摘要由CSDN通过智能技术生成

spring boot日志框架

  • spring内部日志框架JCL

  • spring-boot-starter-logging默认slf4j+logback

    <dependencies>
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <scope>compile</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-to-slf4j</artifactId>
        <scope>compile</scope>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jul-to-slf4j</artifactId>
        <scope>compile</scope>
      </dependency>
    </dependencies>
    
  • slf4j相当于接口,logback作为实现,可以选择配置不同的日志实现,统一由slf4j输出

  • 替换日志实现

    • spring-boot-starter-web、spring-boot-starter中剔除logback,导入其他日志框架
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j2</artifactId>
        <version>2.3.0.RELEASE</version>
    </dependency>
    
  • spring boot默认输出root级别:输出所有日志中info级别以上日志,因此debug级别必须显式配置

logback配置

  1. logback相比log4j,没有FATAL级别,该级别并入ERROR

  2. application.yml配置:logback日志格式设置

    logging:
      pattern:
        console: '%d{yyyy-MM-dd HH:mm:ss}|%cyan(${spring.application.name})|%highlight(%-5level)|%boldYellow([%t]) |%magenta(%logger{64}) |%X{sahara-log-id} |%msg%n'
        file: '%d{yyyy-MM-dd HH:mm:ss}|${spring.application.name}|%-5level|[%t] |%logger{64} |%X{sahara-log-id} |%msg%n'
    
    • %d:输出时间
    • %clr:可自定义颜色
    • %t:线程
    • %X:MDC(“Mapped Diagnostic Context”(映射诊断上下文)),用于追踪请求
    • %logger{}:输出logger,参数限定输出长度,超长将缩写
    • %后接-表示最小长度,左对齐右填充
  3. spring-boot内置配置:logback、log4j2、JUL默认配置文件,主要了解logback默认配置

    • base.xml预设日志文件输出路径,配置root输出级别是level,引入预先配置的console、file输出

      <included>
         <include resource="org/springframework/boot/logging/logback/defaults.xml" />
         <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/>
         <include resource="org/springframework/boot/logging/logback/console-appender.xml" />
         <include resource="org/springframework/boot/logging/logback/file-appender.xml" />
         <root level="INFO">
            <appender-ref ref="CONSOLE" />
            <appender-ref ref="FILE" />
         </root>
      </included>
      
    • defaults.xml预设日志输出格式,配置部分logger输出级别

      <included>
         <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值