springboot使用logback文件查看錯誤日誌過程詳解

這篇文章主要介紹了springboot使用logback文件查看錯誤日誌過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了springboot使用logback文件查看錯誤日誌過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

<?xml version="1.0" encoding="UTF-8"?>

<!-- 從高到地低 OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 TRACE 、 ALL -->
<!-- 日誌輸出規則 根據當前ROOT 級別,日誌輸出時,級別高於root默認的級別時 會輸出 -->
<!-- 以下 每個配置的 filter 是過濾掉輸出文件裏面,會出現高級別文件,依然出現低級別的日誌信息,通過filter 過濾只記錄本級別的日誌-->

<!-- 屬性描述 scan:性設置爲true時,配置文件如果發生改變,將會被重新加載,默認值爲true scanPeriod:設置監測配置文件是否有修改的時間間隔,如果沒有給出時間單位,默認單位是毫秒。當scan爲true時,此屬性生效。默認的時間間隔爲1分鐘。
  debug:當此屬性設置爲true時,將打印出logback內部日誌信息,實時查看logback運行狀態。默認值爲false。 -->
<configuration scan="true" scanPeriod="60 seconds" debug="false">
  <springProperty scope="context" name="logLevel" source="log.level"/>
  <property name="logPath" value="G:/idjavacode/industry3/doc"></property>

  <!-- 定義日誌文件 輸入位置 -->
  <property name="log_dir" value="${logPath}/vegetable-shop-api" />
  <!--<property name="log_dir" value="./logs/order-admin-api" />-->
  <!-- 日誌最大的歷史 30天 -->
  <property name="maxHistory" value="365"/>

  <!-- ConsoleAppender 控制檯輸出日誌 -->
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <!-- 對日誌進行格式化 -->
    <encoder>
      <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level- %caller{1} -%msg%n</pattern>
      <charset>UTF-8</charset>
    </encoder>
  </appender>

  <!-- ERROR級別日誌 -->
  <!-- 滾動記錄文件,先將日誌記錄到指定文件,當符合某個條件時,將日誌記錄到其他文件 RollingFileAppender-->
  <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <!-- 過濾器,只記錄WARN級別的日誌 -->
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
      <level>DEBUG</level>
    </filter>
    <!-- 最常用的滾動策略,它根據時間來制定滾動策略.既負責滾動也負責出發滾動 -->
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
      <!--日誌輸出位置 可相對、和絕對路徑 -->
      <fileNamePattern>${log_dir}/%d{yyyy-MM-dd}/logback_vegetable-shop-api_info-log-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
      <maxFileSize>10MB</maxFileSize>
      <maxHistory>360</maxHistory>
      <totalSizeCap>20GB</totalSizeCap>
    </rollingPolicy>

    <encoder>
      <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level-%caller{1} - %msg%n</pattern>
      <charset>GBK</charset>
    </encoder>
  </appender>

  <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
      <level>ERROR</level>
      <onMatch>ACCEPT</onMatch>
      <onMismatch>DENY</onMismatch>
    </filter>
    <encoder>
      <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level-%caller{1} - %msg%n</pattern>
      <charset>GBK</charset>
    </encoder> <!--滾動策略-->
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!--路徑-->
      <fileNamePattern>${log_dir}/%d{yyyy-MM-dd}/vegetable-shop-api_error-log-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
      <maxFileSize>10MB</maxFileSize>
      <maxHistory>360</maxHistory>
      <totalSizeCap>20GB</totalSizeCap>
    </rollingPolicy>
  </appender>

  <logger name="java.sql.PreparedStatement" level="DEBUG" />
  <logger name="java.sql.Connection" level="DEBUG" />
  <logger name="java.sql.Statement" level="DEBUG" />
  <logger name="com.ibatis" level="INFO" />
  <logger name="com.ibatis.common.jdbc.SimpleDataSource" level="INFO" />
  <logger name="com.ibatis.common.jdbc.ScriptRunner" level="INFO"/>
  <logger name="com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate" level="DEBUG" />
  <logger name="org.springframework" level="INFO" />


  <!-- root級別  DEBUG -->
  <root level="${logLevel}">
    <!-- 控制檯輸出 -->
    <appender-ref ref="STDOUT" />
    <!-- 文件輸出 -->
    <appender-ref ref="INFO" />
    <appender-ref ref="ERROR" />
  </root>
</configuration>

這一份logback描述的並不是太完整

在yml文件中進行配置的文件是:

# logback
log:
 path:
 level: INFO

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持神馬文庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章