Spring Boot 集成 logback日志


  • application.properties 配置logback.xml 路徑
    注:如果logback.xml在默認的 src/main/resources 目錄下則不需要配置application.properties路徑
     logging.config=classpath:log/logback.xml 

  • 配置logback.xml
    注:logback.xml放在src/main/resources目錄下新建log文件夾里;
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE xml>
    <configuration scan="true">
        <property resource="log/logback.properties" />
        
        <!-- 控制台日志配置 -->
        <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <!-- 格式化 -->
                <pattern>%d{yyyy-MM-dd HH:mm:ss} [%p] [%t] %c{36} - %m%n</pattern>
            </encoder>
        </appender>
    
        <!-- info級別日志控制 -->
        <appender name="FILE_INFO"
            class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 文件路徑 -->
            <file>${logback.path}/info.log</file>
            <!-- 是否追加 默認為true -->
            <append>true</append>
            <!-- 滾動策略 日期+大小 策略 -->
            <rollingPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <fileNamePattern>${logback.zip.path}/%d{yyyy-MM-dd}/info/info-%i.zip</fileNamePattern>
                <!-- 單個日志大小 -->
                <maxFileSize>${logback.maxFileSize}</maxFileSize>
                <!-- 日志保存周期 -->
                <maxHistory>${logback.maxHistory}</maxHistory>
                <!-- 總大小 -->
                <totalSizeCap>${logback.totalSizeCap}</totalSizeCap>
            </rollingPolicy>
            <!-- 格式化 -->
            <encoder>
                <pattern>%d{yyyy-MM-dd HH:mm:ss} [%p] [%t] %c{36} - %m%n</pattern>
            </encoder>
            <!-- 級別過濾 -->
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>INFO</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
        </appender>
    
        <!-- warn級別日志控制 -->
        <appender name="WARN_INFO"
            class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 文件路徑 -->
            <file>${logback.path}/warn.log</file>
            <!-- 是否追加 默認為true -->
            <append>true</append>
            <!-- 滾動策略 日期+大小 策略 -->
            <rollingPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <fileNamePattern>${logback.zip.path}/%d{yyyy-MM-dd}/warn/warn-%i.zip</fileNamePattern>
                <!-- 單個日志大小 -->
                <maxFileSize>${logback.maxFileSize}</maxFileSize>
                <!-- 日志保存周期 -->
                <maxHistory>${logback.maxHistory}</maxHistory>
                <!-- 總大小 -->
                <totalSizeCap>${logback.totalSizeCap}</totalSizeCap>
            </rollingPolicy>
            <!-- 格式化 -->
            <encoder>
                <pattern>%d{yyyy-MM-dd HH:mm:ss} [%p] [%t] %c{36} - %m%n</pattern>
            </encoder>
            <!-- 級別過濾 -->
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>WARN</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
        </appender>
    
        <!-- ERROR級別日志控制 -->
        <appender name="ERROR_INFO"
            class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 文件路徑 -->
            <file>${logback.path}/error.log</file>
            <!-- 是否追加 默認為true -->
            <append>true</append>
            <!-- 滾動策略 日期+大小 策略 -->
            <rollingPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <fileNamePattern>${logback.zip.path}/%d{yyyy-MM-dd}/error/error-%i.zip</fileNamePattern>
                <!-- 單個日志大小 -->
                <maxFileSize>${logback.maxFileSize}</maxFileSize>
                <!-- 日志保存周期 -->
                <maxHistory>${logback.maxHistory}</maxHistory>
                <!-- 總大小 -->
                <totalSizeCap>${logback.totalSizeCap}</totalSizeCap>
            </rollingPolicy>
            <!-- 格式化 -->
            <encoder>
                <pattern>%d{yyyy-MM-dd HH:mm:ss} [%p] [%t] %c{36} - %m%n</pattern>
            </encoder>
            <!-- 級別過濾 -->
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>ERROR</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
        </appender>
    
        <root level="${logback.level}">
            <appender-ref ref="CONSOLE" />
            <appender-ref ref="FILE_INFO" />
            <appender-ref ref="WARN_INFO" />
            <appender-ref ref="ERROR_INFO" />
        </root>
    </configuration>
  • 在log目錄下配置logback.properties
    logback.path=/var/log/project_name
    logback.zip.path=/var/log/zip/project_name
    logback.maxFileSize=xMB
    logback.maxHistory=15
    logback.totalSizeCap=xxxMB
    logback.level=DEBUG


免責聲明!

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



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