Spring Boot教學
Spring Boot是什麼?
Spring Boot簡介
Spring Boot主要目標
Spring Boot快速入門
新項目爲什麼需要Spring Boot?
Spring Boot引導過程
Spring Boot核心和限制
Spring Boot Tomcat部署
Spring Boot優點和缺點
Spring Boot構建系統
Spring Boot入門
Spring Boot代碼結構
Spring Boot安裝
Spring Boot Bean和依賴注入
Spring Boot應用程序開發入門
Spring Boot運行器(Runner)
Spring Boot JSP應用實例
Spring Boot應用程序屬性
Spring Boot將WAR文件部署到Tomcat
Spring Boot日誌
Spring Boot Hello World(Thymeleaf)示例
Spring Boot構建RESTful Web服務
Spring Boot非web應用程序實例
Spring Boot異常處理
Spring Boot @ConfigurationProperties實例
Spring Boot攔截器
Spring Boot SLF4J日誌實例
Spring Boot Servlet過濾器
Spring Boot Ajax實例
Spring Boot Tomcat端口號
Spring Boot文件上傳示例(Ajax和REST)
Spring Boot Rest模板
Spring Boot文件上傳示例
Spring Boot文件處理
Spring Boot服務組件
Spring Boot Thymeleaf示例
Spring Boot使用RESTful Web服務
Spring Boot CORS支持
Spring Boot國際化
Spring Boot調度
Spring Boot啓用HTTPS
Spring Boot Eureka服務器
Spring Boost Eureka服務註冊
Spring Boot Zuul代理服務器和路由
Spring Boot雲配置服務器
Spring Boot雲配置客戶端
Spring Boot Actuator
Spring Boot管理服務器
Spring Boot管理客戶端
Spring Boot啓用Swagger2
Spring Boot創建Docker鏡像
Spring Boot跟蹤微服務日誌
Spring Boot Flyway數據庫
Spring Boot發送電子郵件
Spring Boot Hystrix
Spring Boot Web Socket
Spring Boot批量服務
Spring Boot Apache Kafka
Spring Boot單元測試用例
Spring Boot Rest控制器單元測試
Spring Boot數據庫源(連接數據庫)
Spring Boot保護Web應用程序

Spring Boot SLF4J日誌實例

默認情況下,SLF4j日誌記錄包含在Spring Boot Web應用程序中,只需要啓用它就可以了。

注意:查看此Spring Boot Logback XML模板以瞭解默認的日誌記錄模式和配置。

SLF4j示例

我們將在接下來的文章中,創建一個項目:web-slf4j-logging,演示這幾種常用的日誌配置方法。

1. application.properties

要啓用日誌記錄,請在資源文件夾的根目錄中創建一個application.properties件。logging.level- 定義日誌記錄級別,日誌記錄將被輸出到控制檯。

文件: application.properties

logging.level.org.springframework.web=ERROR
logging.level.com.yiibai=DEBUG

logging.file – 定義日誌文件(可根據需要寫上,如:c:/logs/mylog.log),將日誌記錄輸出到文件和控制檯。
文件: application.properties

logging.level.org.springframework.web=ERROR
logging.level.com.yiibai=DEBUG

#output to a temp_folder/file
logging.file=${java.io.tmpdir}/application.log

#output to a file
#logging.file=c:/logs/mylog.log

logging.pattern - 定義自定義日誌記錄模式。
文件: application.properties

logging.level.org.springframework.web=ERROR
logging.level.com.yiibai=DEBUG

# Logging pattern for the console
logging.pattern.console= "%d{yyyy-MM-dd HH:mm:ss} - %msg%n"

# Logging pattern for file
logging.pattern.file= "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"

logging.file=c:/logs/mylog.log

2. application.yml

上面的配置,也可以使用YAML格式實現相同的效果。
文件:application.yml

logging:
  level:
    org.springframework.web: ERROR
    com.yiibai: DEBUG
  pattern:
    console: "%d{yyyy-MM-dd HH:mm:ss} - %msg%n"
    file: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
  file: c:/logs/mylog.log

3. 經典Logback.xml

如果您不喜歡Spring Boot日誌記錄模板,也可以在資源文件夾的根目錄或類路徑的根目錄中創建一個標準的logback.xml文件。它將會覆蓋Spring Boot日誌記錄模板。
文件:logback.xml

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

    <property name="DEV_HOME" value="c:/logs" />

    <appender name="FILE-AUDIT"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${DEV_HOME}/debug.log</file>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <Pattern>
                %d{yyyy-MM-dd HH:mm:ss} - %msg%n
            </Pattern>
        </encoder>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- rollover daily -->
            <fileNamePattern>${DEV_HOME}/archived/debug.%d{yyyy-MM-dd}.%i.log
                        </fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>10MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>

    </appender>

    <logger name="com.yiibai" level="debug"
        additivity="false">
        <appender-ref ref="FILE-AUDIT" />
    </logger>

    <root level="error">
        <appender-ref ref="FILE-AUDIT" />
    </root>

</configuration>

4. 設置根級別

文件:application.properties

# root logging level, warning : too much output
logging.level.=DEBUG

文件:application.yml

logging:
  level:
    ROOT: DEBUG

使用 mvn spring-boot:run 命令運行上面示例,應該會看到有日誌輸出。代碼下載請找到Spring Boot目錄中的項目:web-slf4j-logging