1. 程式人生 > >Spring Boot 集成 logback日誌

Spring Boot 集成 logback日誌

AS con enc files console 格式化 Coding utf 默認

  • 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

Spring Boot 集成 logback日誌