Spring Boot-Logback 配置(區分環境、分包、分級別打印)


<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <!--生產環境  -->
  <springProfile name="prd">
    <!-- 將日志記錄到文件中 -->
    <appender name="LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>/serverdata/log/datacenter.log</File>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>/serverdata/log/datacenter.%d{yyyy-MM-dd}.log</FileNamePattern>
        </rollingPolicy>
        <encoder>
            <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n</Pattern>
        </encoder>
    </appender>
    
    <!-- 下面配置一些第三方包的日志過濾級別,用於避免刷屏 -->  
    <logger name="org.hibernate" level="WARN" />  
    <logger name="org.springframework" level="WARN" />  
    <logger name="org.thymeleaf" level="WARN" />  
    <logger name="org.apache" level="WARN" />  
    <!-- show parameters for hibernate sql 專為 Hibernate 定制 -->  
    <logger name="org.hibernate.type.descriptor.sql.BasicBinder"  level="TRACE" />  
    <logger name="org.hibernate.type.descriptor.sql.BasicExtractor"  level="DEBUG" />  
    <logger name="org.hibernate.SQL" level="DEBUG" />  
    <logger name="org.hibernate.engine.QueryParameters" level="DEBUG" />  
    <logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" /> 
</springProfile>

 <!--測試環境  --> 
  <springProfile name="test">
    <appender name="LOG" class="ch.qos.logback.core.ConsoleAppender">
      <encoder>
          <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n</Pattern>
      </encoder>
    </appender>
    <!-- 下面配置一些第三方包的日志過濾級別,用於避免刷屏 -->  
    <logger name="org.hibernate" level="INFO" />  
    <logger name="org.springframework" level="INFO" />  
    <logger name="org.thymeleaf" level="INFO" />  
    <!-- show parameters for hibernate sql 專為 Hibernate 定制 -->  
    <logger name="org.hibernate.type.descriptor.sql.BasicBinder"  level="TRACE" />  
    <logger name="org.hibernate.type.descriptor.sql.BasicExtractor"  level="DEBUG" />  
    <logger name="org.hibernate.SQL" level="DEBUG" />  
    <logger name="org.hibernate.engine.QueryParameters" level="DEBUG" />  
    <logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" /> 
  </springProfile>

 <!--開發環境  -->
  <springProfile name="dev">
    <!-- 將日志打印到控制台 -->
    <appender name="LOG" class="ch.qos.logback.core.ConsoleAppender">
      <encoder>
          <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n</Pattern>
      </encoder>
    </appender>
    <!-- 下面配置一些第三方包的日志過濾級別,用於避免刷屏 -->  
    <logger name="org.hibernate" level="INFO" />  
    <logger name="org.springframework" level="INFO" />  
    <logger name="org.thymeleaf" level="INFO" />  
    <!-- show parameters for hibernate sql 專為 Hibernate 定制 -->  
    <logger name="org.hibernate.type.descriptor.sql.BasicBinder"  level="TRACE" />  
    <logger name="org.hibernate.type.descriptor.sql.BasicExtractor"  level="DEBUG" />  
    <logger name="org.hibernate.SQL" level="DEBUG" />  
    <logger name="org.hibernate.engine.QueryParameters" level="DEBUG" />  
    <logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" /> 
  </springProfile>

  <root level="INFO">
    <appender-ref ref="LOG"/>
  </root>
</configuration>

 


免責聲明!

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



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