| 日志的接口層、抽象層 | 日志的實現 |
| JCL(Jakarta Commons Logging) SLF4J(Simple Logging Facade for Java) Jboss-Logging |
Log4J JUL(java.util.logging) Log4j2 Logback |
Sping框架默認使用JCL
SpingBoot框架默認使用SLF4J抽象層和Logback實現
(1)、pom導入日志依賴
1 <dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-logging</artifactId> 4 </dependency>
(2)、配置文件中配置日志
#配置指定類或命名空間的日志級別,SpringBoot默認info級別
logging.level.cn.coreqi = trace
#在當前磁盤的根路徑下創建spring文件夾和log子目錄,使用spring.log作為默認文件名稱
logging.path=/spring/log
#指定日志文件的文件名稱,可以指定完整的路徑,不指定則默認在項目下生成
#logging.file=d:/springboot.log
#控制台日志輸出格式
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
#文件日志輸出格式
#logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
(3)、測試日志
1 package cn.coreqi; 2 3 import org.junit.Test; 4 import org.junit.runner.RunWith; 5 import org.slf4j.Logger; 6 import org.slf4j.LoggerFactory; 7 import org.springframework.boot.test.context.SpringBootTest; 8 import org.springframework.test.context.junit4.SpringRunner; 9 10 @RunWith(SpringRunner.class) 11 @SpringBootTest 12 public class SpringbootLogApplicationTests { 13 14 @Test 15 public void contextLoads() { 16 Logger logger = LoggerFactory.getLogger(getClass()); //聲明日志記錄器 17 logger.trace("這是trace日志"); //跟蹤器日志 18 logger.debug("這是debug日志"); //調試日志 19 logger.info("這是info日志"); //自定義日志 20 logger.warn("這是warn日志"); //警告日志 21 logger.error("這是error日志"); //錯誤日志 22 23 //日志級別由低到高 trace<debug<info<warn<error 24 //可以調整日志的輸出級別,日志將在這個級別以后的高級別生效 25 //SpringBoot默認日志級別是root(info)級別 26 } 27 28 }
