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 條評論,你可以發表評論,我們會進行改進
