spring boot—自定义logback日志配置

自定义日志配置

spring boot2.2.4官方文档
logback中文文档

   1)spring boot可以适应所有日志框架,只需在类路径下包含相应的依赖来激活各种日志系统。

   2)spring boot底层使用slf4j + logback框架来实现日志记录,所以如果想要自定义logback配置,就无需添加相关依赖了(spring-booot-stater中已包含相关依赖)

   3)在类路径下放置自定义日志配置文件(xml配置文件),spring boot就不会使用它本身的默认日志配置了
spring boot—自定义logback日志配置_第1张图片
   4)上图是spring boot官方文档的提示内容,意思是:根据您的日志记录系统,将加载相应的文件使用。即如果我们使用logback日志框架,那么可以使用logback-spring.xmllogback-spring.groovylogback.xmllogback.groovy之一作为配置文件来加载。

   5)spring boot官方建议使用logback-spring.xml作为logback框架的日志配置文件(例如:使用logback-spring.xml而不是logback.xml),因为带-spring后缀的配置文件可以使用spring boot提供的一些高级功能,如profile多环境日志输出

<springProfile name="staging">
    
springProfile>

<springProfile name="dev | staging">
    
springProfile>

<springProfile name="!production">
    
springProfile>

logback-spring.xml



<configuration scan="true" scanPeriod="60" debug="false">

    
    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%d{yyyy-MM-dd HH:mm:ss} -- %-5level -- [%thread] -- %logger{50} --- %msg %n}"/>
    
    <property name="FILE_LOG_PATTERN" value="${FILE_LOG_PATTERN:-%d{yyyy-MM-dd hh:mm:ss} -- %-5level -- [%thread] -- %logger{50} --- %msg %n}"/>

    

    
    <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
         
         <springProfile name="dev">
             
             <encoder>
                 <pattern>${CONSOLE_LOG_PATTERN}pattern>
             encoder>
         springProfile>
         
         <springProfile name="!dev">
             
             <encoder>
                 <pattern>--%logger{50} --- %msg %npattern>
             encoder>
         springProfile>
    appender>

    
    <appender name="fileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        
        <springProfile name="production">
            -->
            <file>D:\idea\logs\example-logging.logfile>
            
            <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                
                <fileNamePattern>D:\idea\logs\example-logging-%d{yyyy-MM-dd}-%i.logfileNamePattern>
                
                <maxFileSize>10MBmaxFileSize>
                
                <maxHistory>7maxHistory>
                
                <totalSizeCap>20GBtotalSizeCap>
            rollingPolicy>
            
            <encoder>
                <pattern>${FILE_LOG_PATTERN}pattern>
            encoder>
        springProfile>
    appender>

    
    <logger name="com.cd.example.one" level="trace"/>
    <logger name="com.cd.example.two" level="debug"/>
    <logger name="com.cd.example.three" level="warn"/>

    
    <root level="info">
        <appender-ref ref="consoleAppender"/>
        <appender-ref ref="fileAppender"/>
    root>

configuration>



你可能感兴趣的:(SpringBoot学习记录)