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可以實現日志文件壓縮。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM