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
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。