1. 程式人生 > >第九章:SpringBoot日誌——(預設配置)

第九章:SpringBoot日誌——(預設配置)

(一):SpringBoot預設已經給我們配置好了日誌。

我們在專案的test目錄下的測試類中測試一下。

@RunWith(SpringRunner.class)
@SpringBootTest
public class LoggingApplicationTests {
	//日誌記錄器
	Logger logger = LoggerFactory.getLogger(getClass());
	@Test
	public void contextLoads() {

		//日誌的級別;
		//由低到高 trace<debug<info<warn<error
		//可以調整輸出的日誌級別;日誌就只會在這個級別以以後的高級別生效
		logger.trace("這是trace日誌...");
		logger.debug("這是debug日誌...");
		//SpringBoot預設給我們使用的是info級別的,沒有指定級別的就用SpringBoot預設規定的級別;
		logger.info("這是info日誌...");
		logger.warn("這是warn日誌...");
		logger.error("這是error日誌...");

	}

}

我們再控制檯列印一下,發現SpringBoot使用的是預設info級別的。

如果我們想給指定的包使用日誌級別的話,去全域性配置檔案application.properties配置一下就ok.

logging.level.com.spring=trace

解釋一下上面的一行配置:我指定com.spring包使用trace級別的日誌輸出。上面那個類中我們說的日誌級別中trace是最底的,

所以我再次執行測試,發現控制檯會答應出所有的日誌級別。


(二):日誌輸出到指定的地方

日誌的輸出我們可以指定他的具體位置,也是在全域性的配置檔案application.properties配置一下就ok.

# 不指定路徑在當前專案下生成springboot.log日誌
#logging.file=springboot.log
# 可以指定完整的路徑;
logging.file=D:/springboot.log

# 在當前磁碟的根路徑下建立spring資料夾和裡面的log資料夾;使用 spring.log 作為預設檔案
logging.path=/spring/log


解釋上面的程式碼:可以指定具體到哪個位置,如果不指定,則就在專案下建立這個檔案。

# 在控制檯輸出的日誌的格式
logging.pattern.console=%d{yyyy‐MM‐dd} [%thread] %‐5level %logger{50} ‐ %msg%n
# 指定檔案中日誌輸出的格式
logging.pattern.file=%d{yyyy‐MM‐dd} === [%thread] === %‐5level === %logger{50} ==== %msg%n
解釋:↓
日誌輸出格式:
%d表示日期時間,
%thread表示執行緒名,
%‐5level:級別從左顯示5個字元寬度
%logger{50} 表示logger名字最長50個字元,否則按照句點分割。
%msg:日誌訊息,
%n是換行符
‐‐>
%d{yyyy‐MM‐dd HH:mm:ss.SSS} [%thread] %‐5level %logger{50} ‐ %msg%n