1. 程式人生 > 其它 >springboot(27) : logback日誌

springboot(27) : logback日誌

技術標籤:springbootlogbackspring日誌

參考 :https://blog.csdn.net/jasnet_u/article/details/108395169

多環境配置

1.application.properties新增

spring.profiles.active=dev

2.resources下建立application-dev.properties和application-prod.properties

3.下面的日誌建立兩個檔案貼上,檔名分別為logback-spring-dev.xml和logback-spring-prod.xml

4.application-dev.properties和application-prod.properties裡面新增如下配置即可

# 設定logback
# 日誌級別 從高到底 的順序是: error -> warn -> info -> debug
log.level=info
logging.config=classpath:logback-spring-dev.xml

<?xml version="1.0" encoding="UTF-8"?>

<configuration>
    <!--指定property屬性變數-->
    <property name="log.path" value="/test/logs"/>

    <!-- 日誌輸出格式
     %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
     -->
    <!-- 控制檯 appender-->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>


    <!-- 檔案 滾動日誌 (all)-->
    <appender name="alllog"  class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 當前日誌輸出路徑、檔名 -->
        <file>${log.path}/all.log</file>
        <!--日誌輸出格式-->
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
        <!--歷史日誌歸檔策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- 歷史日誌: 歸檔檔名 -->
            <fileNamePattern>${log.path}/%d{yyyy-MM, aux}/all.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
            <!--單個檔案的最大大小-->
            <maxFileSize>64MB</maxFileSize>
            <!--日誌檔案保留天數-->
            <maxHistory>15</maxHistory>
        </rollingPolicy>


    </appender>


    <!-- 檔案 滾動日誌 (僅error)-->
    <appender name="errorlog"  class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 當前日誌輸出路徑、檔名 -->
        <file>${log.path}/error.log</file>
        <!--日誌輸出格式-->
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>

        <!--歷史日誌歸檔策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- 歷史日誌: 歸檔檔名 -->
            <fileNamePattern>${log.path}/%d{yyyy-MM, aux}/error.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
            <!--單個檔案的最大大小-->
            <maxFileSize>64MB</maxFileSize>
            <!--日誌檔案保留天數-->
            <maxHistory>15</maxHistory>
        </rollingPolicy>

        <!-- 此日誌文件只記錄error級別的 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>error</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>


    <!-- root 級別的配置 -->
    <root level="INFO">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="alllog" />
        <appender-ref ref="errorlog" />
    </root>


    <!--可輸出mapper層sql語句等-->
    <logger name="com.tingcream" level="debug">
    </logger>

    <!--輸出jdbc 事務相關資訊-->
    <logger name="org.springframework.jdbc" level="debug">
    </logger>


</configuration>