SpringMVC Hibernate調整日志級別


第一步:在web.xml中指定logbackConfigLocation上下文

<context-param>
   <param-name>logbackConfigLocation</param-name>
    <param-value>WEB-INF/logback.xml</param-value>
</context-param>

然后在logback.xml中

<?xml version="1.0" encoding="UTF-8" ?>
<configuration debug="true" scan="true" scanPeriod="600 seconds">

  <!-- 
    appender表示日志輸出的方式,該元素必須包含name、classs屬性;
    name,表示appender的唯一標識
    class一般常見有ch.qos.logback.core.FileAppender、ch.qos.logback.core.rolling.RollingFileAppender、ch.qos.logback.core.ConsoleAppender
  -->
  <!-- 下面appender表示輸出到控制台 -->
  <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
    <!-- 設置級別過濾器 -->
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
      <!-- level級別的日志才會被處理,其他級別不處理 -->
      <level>DEBUG</level>
      <!-- 用於配置符合條件的操作 -->
      <onMatch>ACCEPT</onMatch>
      <!-- 用於配置不符合條件的操作 -->
      <onMismatch>DENY</onMismatch>
    </filter>
    <!-- encoder指定編碼格式,並根據指定的pattern輸出日志信息 -->
    <encoder charset="UTF-8">
      <!-- pattern指定日志的輸出格式 -->
      <pattern>%d{HH:mm:ss.SSS}[%-5level][%thread][%logger{20}]-%msg%n</pattern>
    </encoder>
  </appender>

  <!-- 下面是將日志輸入到指定的文件中 -->
  <appender name="file" class="ch.qos.logback.core.FileAppender">  
    <!-- 指定的日志文件名 -->
    <file>logFile.log</file>
    <!-- 是否追加到文件末尾,默認true -->
    <append>true</append>
    <encoder>
      <pattern>%-4r [%thread] %-5level %logger{35} - %msg%n</pattern>
    </encoder>
  </appender>


  <!-- 下面是以滾動的方式生成日志文件 -->
  <appender name="rollingFile"
    class="ch.qos.logback.core.rolling.RollingFileAppender">

    <!-- 下面是設置的臨界值過濾器 -->
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
      <!-- 小於level級別的日志會被過濾掉 -->
      <level>INFO</level>
    </filter>

    <!-- rollingPolicy表示滾動策略,下面表示以時間來指定滾動策略 -->
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <!-- 如果用TimeBasedRollingPolicy,則fileNamePattern元素必須包含,指定日志的名稱 -->
      <fileNamePattern>E:/demo-%d{yyyy-MM-dd}.log</fileNamePattern>
      <!-- 文件的最大保留數,超過此數字會自動刪除 -->
      <maxHistory>90</maxHistory>
    </rollingPolicy>

    <encoder>
      <pattern>%d{HH:mm:ss.SSS}[%-5level][%thread][%logger{20}]-%msg%n</pattern>
      <!-- 是否立即清空輸出流,設置為false可以提高性能,但日志可能會丟失 -->
      <immediateFlush>false</immediateFlush>
    </encoder>
  </appender>

  <!-- root與logger類似,它表示根logger,只有大於等於level級別的日志才交由appender處理,level默認為DEBUG -->
  <root level="INFO">
    <appender-ref ref="stdout" />
    <appender-ref ref="rollingFile" />
    <appender-ref ref="file" />
  </root>
 <logger name="com.mchange" level="WARN"/>
 <logger name="org.hibernate" level="WARN"/>
 <logger name="org.springframework" level="WARN"/>
  <!-- 
    logger元素用來設置某包或者類的日志輸出級別
    name:表示某包或類名稱
    level:表示日志級別,如果沒有此屬性,那么當前的logger會繼承上級的日志級別
  -->
</configuration>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM