第十六章:springboot 整合logback日誌

Logback介紹:spring

    Logback是由log4j創始人設計的另外一個開源日誌組件,官方網站: http://logback.qos.ch。它當前分爲下面下個模塊:
  logback-core:其它兩個模塊的基礎模塊
  logback-classic:它是log4j的一個改良版本,同時它完整實現了slf4j API使你能夠很方便地更換成其它日誌系統如log4j或JDK14 Logging
  logback-access:訪問模塊與Servlet容器集成提供經過Http來訪問日誌的功能app

      不能單獨使用,推薦配合日誌框架SLF4J來使用框架

首先新建 logback.xml ,官方推薦命名爲 logback-spring.xml網站

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

    <!-- 控制檯打印 -->
    <appender name="consoleApp" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>
                %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n
            </pattern>
        </layout>
    </appender>

    <!--輸出 INFO 級別及以上日誌-->
    <appender name="fileInfoApp" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--過濾 error 級別的日誌 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>DENY</onMatch>
            <onMismatch>ACCEPT</onMismatch>
        </filter>
        <encoder>
            <pattern>
                %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n
            </pattern>
        </encoder>
        <!-- 滾動策略 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 路徑 -->
            <fileNamePattern>app_log/log/app.info.%d.log</fileNamePattern>
        <!-- 控制保留的歸檔文件的最大數量,超出數量就刪除舊文件,當前滾動策略是天天,保存30天日誌文件 -->
            <MaxHistory>10</MaxHistory>
        </rollingPolicy>
    </appender>

    <!--輸出 ERROR 級別日誌-->
    <appender name="fileErrorApp" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
        <encoder>
            <pattern>
                %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n
            </pattern>
        </encoder>

        <!-- 設置滾動策略 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 路徑 -->
            <fileNamePattern>app_log/log/app.err.%d.log</fileNamePattern>

          <!-- 控制保留的歸檔文件的最大數量,超出數量就刪除舊文件,當前滾動策略是天天,保存30天日誌文件 -->
            <MaxHistory>30</MaxHistory>

        </rollingPolicy>
    </appender>

    <!--輸出日誌級別爲 INFO 及以上-->
    <root level="INFO">
        <appender-ref ref="consoleApp"/>
        <appender-ref ref="fileInfoApp"/>
        <appender-ref ref="fileErrorApp"/>
    </root>

</configuration>

 

接着就能夠在項目中使用日誌了this

 

Logger logger= LoggerFactory.getLogger(this.getClass());

@RequestMapping("/test5")
public String test5() {
    logger.debug("  debug  信息");
    logger.info("   info   信息");
    logger.warn("   warn   信息");
    logger.error("  error  信息");
    return "ok";
}

注意導入包爲debug

org.slf4j.Logger
org.slf4j.LoggerFactory

 

打開日誌文件,會看到項目打印的日誌設計

相關文章
相關標籤/搜索