天天看點

玩轉微服務日志架構Logback

一、Logback的配置形式2種:

方案一:

application.yml 配置相對簡單(需求簡單可以使用)

  • 1、可以配置控制台輸出的日志格式

例如:

玩轉微服務日志架構Logback
  • 2、可以指定輸出到某個路徑下面,檔案名預設是spring.log
玩轉微服務日志架構Logback
  • 3、如果想可以自定義log日志的檔案名,請先注釋第2條,二者重複
玩轉微服務日志架構Logback
  • 4、可以定義日志的級别及某個類的日志級别:
玩轉微服務日志架構Logback
玩轉微服務日志架構Logback
logging:
  pattern:
    console: "%d - %msg%n"
#  path: C:\Users\gblfy\Desktop\log
  file: C:\Users\gblfy\Desktop\log\gblfy.log
  level:
    com.example.demo.LoggerTest: debug      

二、日志需求:

  • 1、區分info和error日志
  • 2、每天産生一個日志檔案

思路:

針對這樣的情況可以建議使用下面這種形式,來記錄日志:

方案二:

  • 1、設定日志的輸出格式
  • 2、區分info和error日志
  • 3、每天産生一個日志檔案
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>
                %d - %msg%n
            </pattern>
        </layout>
    </appender>

    <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>DENY</onMatch>
            <onMismatch>ACCEPT</onMismatch>
        </filter>
        <encoder>
            <pattern>
                %msg%n
            </pattern>
        </encoder>
        <!--滾動政策-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--路徑-->
            <fileNamePattern>C:\Users\gblfy\Desktop\log\info.%d.log</fileNamePattern>
        </rollingPolicy>
    </appender>

    <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
        <encoder>
            <pattern>
                %msg%n
            </pattern>
        </encoder>
        <!--滾動政策-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--路徑-->
            <fileNamePattern>C:\Users\gblfy\Desktop\log\error.%d.log</fileNamePattern>
        </rollingPolicy>
    </appender>

    <root level="info">
        <appender-ref ref="consoleLog" />
        <appender-ref ref="fileInfoLog" />
        <appender-ref ref="fileErrorLog" />
    </root>
</configuration>