1. 程式人生 > 實用技巧 >springboot - logback & mybatis-plus

springboot - logback & mybatis-plus

一個可用的logback日誌配置示例:

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

    <springProperty scope="context" name="logging.path" source="logging.path"/>
    <springProperty scope="context" name="application.name" source="spring.application.name"/>

    <!-- 控制檯列印日誌的相關配置 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <!-- 日誌格式 --> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%level] - %m%n</pattern> <!--<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
--> </encoder> <!-- 日誌級別過濾器 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <!-- 過濾的級別 --> <level>info</level> <!-- 匹配時的操作:接收(記錄) --> <onMatch>ACCEPT</onMatch>
<!-- 不匹配時的操作:拒絕(不記錄) --> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- 檔案儲存日誌的相關配置 --> <appender name="FILE-OUT" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 儲存日誌檔案的路徑 --> <file>${logging.path}/${application.name}.log</file> <!-- 日誌格式 --> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%class:%line] - %m%n</pattern> <!--<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>--> </encoder> <!-- 日誌級別過濾器 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <!-- 過濾的級別 --> <level>info</level> <!-- 匹配時的操作:接收(記錄) --> <onMatch>ACCEPT</onMatch> <!-- 不匹配時的操作:拒絕(不記錄) --> <onMismatch>DENY</onMismatch> </filter> <!-- 迴圈政策:基於時間建立日誌檔案 --> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!-- 日誌檔名格式 --> <fileNamePattern>${logging.path}/${application.name}.%d{yyyy-MM-dd}-%i.log.gz</fileNamePattern> <!-- 最大儲存時間:30天--> <maxHistory>30</maxHistory> <!--單檔案最大佔用多少M--> <maxFileSize>100MB</maxFileSize> <!--最多保留20GB日誌--> <totalSizeCap>20GB</totalSizeCap> </rollingPolicy> </appender> <!-- 基於dubug處理日誌:具體控制檯或者檔案對日誌級別的處理還要看所在appender配置的filter,如果沒有配置filter,則使用root配置 --> <root level="debug"> <appender-ref ref="STDOUT" /> <appender-ref ref="FILE-OUT" /> </root> <!--列印sql--> <logger name="com.xingan.customized.bus.interceptor.MyPerformanceInterceptor" additivity="false" level="DEBUG"> <appender-ref ref="STDOUT"/> <appender-ref ref="FILE-OUT"/> </logger> </configuration>

1. 載入順序:logback.xml--->application.properties--->logback-spring.xml. 如果logback中要使用spring中的變數,要使用logback-spring.xml這個檔名。

2. 關於列印mybatis-plus的sql語句到日誌檔案中,沒有找到合適的方法,這裡是通過修改了PerformanceInterceptor外掛實現的,只需把對於的logger,去掉,通過@Slf4j註解....,最後通過logger來列印就好了。

3. 通過rollingPolicy.fileNamePattern指定字尾gz可以實現日誌檔案壓縮。