Spring Boot 教程(五):log日誌配置

教程簡介

本項目內容爲Spring Boot教程樣例。目的是經過學習本系列教程,讀者能夠從0到1掌握spring boot的知識,而且能夠運用到項目中。如您以爲該項目對您有用,歡迎點擊收藏和點贊按鈕,給予支持!!教程連載中,歡迎持續關注!git

環境

IDE: Eclipse Neon
Java: 1.8
Spring Boot: 1.5.12
數據庫:MYSQLspring

本章簡介

本節將經過配置Spring Boot的默認日誌logback來實現日誌管理。數據庫

說明

日誌級別從低到高分:apache

TRACE < DEBUG < INFO < WARN < ERROR < FATAL

配置

在src/main/resources下面添加logback.xml,內容以下:app

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!--======================================= 本地變量 ======================================== -->
    <!--在沒有定義${LOG_HOME}系統變量的時候,能夠設置此本地變量。提交測試、上線時,要將其註釋掉,使用系統變量。 -->
    <!-- <property name="LOG_HOME" value="D:/data/logs" /> -->

    <!-- 應用名稱:和統一配置中的項目代碼保持一致(小寫) -->
    <property name="APP_NAME" value="base" />
    <!--日誌文件保留天數 -->
    <property name="LOG_MAX_HISTORY" value="180" />
    <!--定義日誌文件的存儲地址 勿在 LogBack 的配置中使用相對路徑 -->
    <!--應用日誌文件保存路徑 -->
    <property name="LOG_APP_HOME" value="${APP_NAME}/app" />

    <!--=========================== 按照天天生成日誌文件:默認配置=================================== -->
    <!-- 控制檯輸出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日誌消息,%n是換行符 -->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
        </encoder>
    </appender>
    <!-- 按照天天生成日誌文件:主項目日誌 -->
    <appender name="APP"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日誌文件輸出的文件名 -->
            <FileNamePattern>${LOG_APP_HOME}/base.%d{yyyy-MM-dd}.log
            </FileNamePattern>
            <!--日誌文件保留天數 -->
            <MaxHistory>${LOG_MAX_HISTORY}</MaxHistory>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日誌消息,%n是換行符 -->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{500} - %msg%n</pattern>
        </encoder>
    </appender>
    <!--=============================== 日誌輸出: 默認主業務日誌 ====================================== -->
    <logger name="org.springframework">
        <level value="WARN" />
    </logger>
    <logger name="org.apache.shiro">
        <level value="WARN" />
    </logger>
    <logger name="freemarker">
        <level value="WARN" />
    </logger>
    <logger name="org.hibernate">
        <level value="WARN" />
    </logger>
    <logger name="org.hibernate.SQL">
        <level value="DEBUG" />
    </logger>
    
    <root level="DEBUG">
        <appender-ref ref="APP" />
        <appender-ref ref="STDOUT" />
    </root>
</configuration>

配置application.properties

logging.config=classpath:logback.xml

以上配置會將日誌記錄下來,生成在如下位置:學習

clipboard.png

使用

使用超級簡單,直接在類中定義輸出便可。測試

clipboard.png

以上日誌也會記錄在log日誌文件中。spa

代碼:gitee.com/shaojiepeng/SpringBootCoursehibernate

相關文章
相關標籤/搜索