spring-boot配置slf4j日志


SLF4J,即簡單日志門面(Simple Logging Facade for Java),不是具體的日志解決方案,它只服務於各種各樣的日志系統。按照官方的說法,SLF4J 是一個用於日志系統的簡單 Facade,允許最終用戶在部署其應用時使用其所希望的日志系統。

spring-boot內部已經集成了slf4j,所以我們只要對slf4j做下簡單的配置即可:

首先我們需要一個文件用來做日志相關的配置:

logback.xml:

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

<!-- 格式化輸出:%date表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度 %msg:日志消息,%n是換行符-->
<property name="LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />
<!-- 定義日志存儲的路徑,不要配置相對路徑 -->
<property name="FILE_PATH" value="E:/logs/demo.%d{yyyy-MM-dd}.%i.log" />

<!-- 控制台輸出日志 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!-- 按照上面配置的LOG_PATTERN來打印日志 -->
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>

<!--每天生成一個日志文件,保存15天的日志文件。rollingFile是用來切分文件的 -->
<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${FILE_PATH}</fileNamePattern>
<!-- keep 15 days' worth of history -->
<maxHistory>15</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- 日志文件的最大大小 -->
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>

<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<!-- project default level -->
<logger name="src" level="INFO" />

<!-- 日志輸出級別 常用的日志級別按照從高到低依次為:ERROR、WARN、INFO、DEBUG。 -->
<root level="INFO">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</configuration>
然后在application中指定配置文件的位置:

## 日志配置
logging:
config: src/main/resources/logback.xml
level:
com.github.springbootmiaosha.dao: trace
logging.level 用來指定具體的 Mapper 中日志的輸出級別,上面的配置表示 com.ruifeng.demo.dao 包下的所有 Mapper 日志輸出級別為 Trace,會將操作數據庫的 SQL 打印出來。開發時設置成 trace 方便定位問題,在生產環境上,將這個日志級別再設置成 error 級別即可.

配置完成后我們想在哪里用直接用就好了:

package com.github.springbootmiaosha;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
* @author lizhangyu
*/
@SpringBootApplication
public class SpringbootMiaoshaApplication {

private static final Logger logger = LoggerFactory.getLogger(SpringbootMiaoshaApplication.class);

public static void main(String[] args) {
logger.info("SpringBoot開始加載");
SpringApplication.run(SpringbootMiaoshaApplication.class, args);
logger.info("SpringBoot加載完畢");
}

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM