<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                首先我們是需要在Springboot當中去使用Logback,在Springboot當中使用非常的簡單,我們只需要將logback.xml配置文件放到項目當中的resources目錄下即可,入下圖所示: ### ![](https://img.kancloud.cn/54/4b/544b66abf875a46ece448a25599c8951_2530x1386.png) ### 這樣就相當于啟用了logback日志管理了 ### 接下來我們重點講解一下logback.xml當中的各種配置信息都是什么意思 ### ``` <?xml version="1.0" encoding="UTF-8"?> <!-- 對xml的一個掃描是否更新 --> <!-- 對xml是否進行掃描scan="true"就表示進行掃描 并且是每60s進行掃描一次 debug=false表示不記錄logback本身的日志信息 胡軍 --> <configuration scan="true" scanPeriod="60 seconds" debug="false"> <!-- property表示定義全局變量 胡軍 --> <!-- 表示定義日志的輸出路徑 這里我們設置為了/Users/leasure/project-logs目錄下 胡軍--> <property name="LOG_PATH" value="/Users/leasure/project-logs"/> <!-- 這里我們也可以這么設置日志的存放路徑 就會在項目的根目錄下創建logs等目錄來存放日志文件 胡軍 --> <!-- <property name="LOG_PATH" value="${catalina.base}/logs/loggerDemoProject"/>--> <!-- 設置日志的級別 開發環境一般配置debug即可 還有其他的比如info error ... --> <property name="LOG_LEVEL" value="debug"/> <!-- 設置日志保存的時長 這里的30表示的是30天 --> <property name="LOG_MAX_HISTORY" value="30"/> <!-- 設置單個日志保存的大小 --> <property name="LOG_MAX_FILE_SIZE" value="1MB"/> <!-- 設置整體日志保存的大小 如果超過了就會去刪除最早的打包好的日志 --> <property name="TOTAL_SIZE_CAP" value="2MB"/> <!-- 日志所打印出來的格式 [DemoProject] 可以理解為項目名稱 %d{yyyy-MM-dd HH:mm:ss.SSS}表示日期 [%-10thread]線程名稱 %-5level日志的級別 %logger{50}日志長度 %msg%n日志信息和換行符 --> <property name="LOG_PATTERN" value="[DemoProject] %d{yyyy-MM-dd HH:mm:ss.SSS} [%-10thread] %-5level | %logger{50} : %msg%n"/> <!-- appender可以理解為日志輸出的一個機制 比如info日志的輸出機制 error日志的輸出機制 等等 --> <!-- CONSOLE --> <appender name="consoleOutput" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <charset>UTF-8</charset> <pattern>${LOG_PATTERN}</pattern> </encoder> </appender> <!-- DEBUG --> <!-- debugOutput2File表示的是一個自定義的名字 class="ch.qos.logback.core.rolling.RollingFileAppender" 表示以追加的形式記錄日志--> <appender name="debugOutput2File" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 表示的是我們記錄日志到什么位置 比如選擇了用上面定義好的LOG_PATH目錄下的debug.log文件里面來記錄日志 --> <file>${LOG_PATH}/debug.log</file> <!-- 定義追加策略 --> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!-- 當滿足maxHistory 和 maxFileSize 這兩個條件的時候 會觸發文件打包機制 意思就是將在LOG_PATh目錄下創建debug目錄并將里面的debug.log文件打包成日志格式的.tar.gz格式的壓縮包 --> <fileNamePattern>${LOG_PATH}/debug/debug.log.%d{yyyy-MM-dd}.%i.log.tar.gz</fileNamePattern> <!-- 表示所有的日志只保存的天數 這里我們設置的是30天 --> <maxHistory>${LOG_MAX_HISTORY}</maxHistory> <!-- 單個文件的大小 --> <maxFileSize>${LOG_MAX_FILE_SIZE}</maxFileSize> </rollingPolicy> <encoder> <charset>UTF-8</charset> <!-- 日志輸出的格式采用上面我們定義好的LOG_PATTERN的格式 --> <pattern>${LOG_PATTERN}</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <!-- 表示只接收debug模式的日志級別的日志信息 其他的將會被拒絕 --> <level>DEBUG</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- 底下的INFO和ERROR的配置和上面DEBUG的配置是一樣的 就不再多講了 --> <!-- INFO --> <appender name="infoOutput2File" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOG_PATH}/info.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <fileNamePattern>${LOG_PATH}/info/info.log.%d{yyyy-MM-dd}.%i.log.tar.gz</fileNamePattern> <maxHistory>${LOG_MAX_HISTORY}</maxHistory> <maxFileSize>${LOG_MAX_FILE_SIZE}</maxFileSize> <!-- 比debug模式多了這個配置 稍后解釋 --> <totalSizeCap>${TOTAL_SIZE_CAP}</totalSizeCap> </rollingPolicy> <encoder> <charset>UTF-8</charset> <pattern>${LOG_PATTERN}</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>INFO</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- ERROR --> <appender name="errorOutput2File" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOG_PATH}/error.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <fileNamePattern>${LOG_PATH}/error/error.log.%d{yyyy-MM-dd}.%i.log.tar.gz</fileNamePattern> <maxHistory>${LOG_MAX_HISTORY}</maxHistory> <maxFileSize>${LOG_MAX_FILE_SIZE}</maxFileSize> <totalSizeCap>${TOTAL_SIZE_CAP}</totalSizeCap> </rollingPolicy> <encoder> <charset>UTF-8</charset> <pattern>${LOG_PATTERN}</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- 這里我們設置的日志級別是debug 意味著根Logger會記錄所有級別的日志消息, 包括DEBUG、INFO、WARN、ERROR等。如果沒有這個配置,根Logger的默認級別可能 是INFO或者其他較高級別,那么低于該級別的日志消息將不會被記錄在這個特定的配置中, 由于根Logger的級別被設置為DEBUG,所以所有級別的日志消息都會被記錄,并且通過各 個appender進行輸出。這樣可以更靈活地控制日志輸出,根據實際需要記錄不同級別的日 志信息。 --> <!-- 如果我設置了level=error 那么info級別的日志就不會被記錄到info級別的日志文件當中了吧? 是的,如果你將 <root level="error">,表示根Logger的級別被設置為ERROR,那么只有ERROR級 別的日志消息及以上級別(如ERROR、WARN)才會被記錄。INFO級別的日志消息將被忽略,不會被記錄到 相應的INFO級別的日志文件中。這樣可以控制日志的詳細程度,只記錄重要的錯誤信息,減少不必要的日 志輸出。 --> <root level="debug"> <appender-ref ref="debugOutput2File"/> <appender-ref ref="infoOutput2File"/> <appender-ref ref="errorOutput2File"/> <appender-ref ref="consoleOutput"/> </root> </configuration> ``` ### 重點還是去看里面的代碼的注釋信息 ### 講解的已經非常清晰了 ###
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看