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

0 條評論,你可以發表評論,我們會進行改進
Comment author placeholder