SpringBoot自定义日志配置文件

可以通过在类路径中包含适日志配置文件来激活各种日志记录系统或使用logging.config
Logging System                                                    Customization

Logback                                                           logback-spring.xml, logback-spring.groovy, logback.xml, 
                                                         or logback.groovy
 Log4j2                                                  log4j2-spring.xml or log4j2.xml

 JDK (Java Util Logging)
                                                         logging.properties


注意:
              如果使用自定义日志配置文件 会使用springboot中全局配置文件的logging相关配置失效
              结合SpringBoot提供Profile来控制日志的生效
                     注意:  一定要将日志配置文件的文件名改成logback-spring.xml,  因为 logback.xml 会在
            Springboot容器加载前先被logback给加载到, 那么由于logback无法解析springProfile 将会报错:
                    ERROR in ch.qos.logback.core.joran.spi.Interpreter@4:71 ­ no applicable action for 
            [springProperty], current ElementPath is [[configuration][springProperty]] 
            ERROR in ch.qos.logback.core.joran.spi.Interpreter@4:71 ­ no applicable action for 
            [springProfile], current ElementPath is [[configuration][springProfile]]

<configuration>

    <!--可以引用SpringBoot全局配置文件中的配置项-->
    <springProperty scope="context" name="dateformat" source="logging.pattern.dateformat"
                    defaultValue="-yyyy-MM-dd HH:mm:ss.SSS"/>

    <!--appender 追加器   日志以哪种方式进行输出
            name 取个名字
            class 不同实现类会输出到不同地方
                ch.qos.logback.core.ConsoleAppender 输出到控制台
    -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!-- 格式 -->
            <springProfile name="dev">
                <pattern>%d{${dateformat}} [%thread] %-5level %logger{100} ======= %msg%n</pattern>
            </springProfile>
            <springProfile name="!dev">
                <pattern>%d{${dateformat}} [%thread] %-5level %logger{100} ++++++ %msg%n</pattern>
            </springProfile>

        </encoder>
    </appender>
<!--cn.leon.mapper-->
<!--控制跟细粒度的日志级别  根据包\根据类-->
    <logger name="com.leon" level="TRACE"></logger>


    <!--控制所有的日志级别-->
    <root level="info">
        <!-- 将当前日志级别输出到哪个追加器上面 -->
        <appender-ref ref="STDOUT" />
    </root>
</configuration>
logging:
  level:
    root: info
    com:
      tulingxueyuan: trace
  pattern:
    console: '%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){red} %clr(${LOG_LEVEL_PATTERN:-%10p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}'
    dateformat: -yyyy-MM-dd
  file:
    name: D:/logs/leon.log
    #path: D:/
    max-size: 5KB

#spring:
#  profiles:
#    active: dev

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值