SpringBoot默認采用slf4j+logback 的組合形式,但也提供對JUL、log4j2、Logback提供了默認配置。
我們使用IDEA的spring初始化創建一個springboot項目后,運行一下開始方法。控制台輸出的一堆如下的信息其實就是日志

在配置文件中配置日志
1.配置日志輸出級別
打開測試方法,輸入以下代碼。
@SpringBootTest class SpringBoot03LoggingApplicationTests { Logger logger= LoggerFactory.getLogger(getClass()); @Test void contextLoads() { //下面的日志級別從低到高。 //默認輸出info級別以上的日志信息,可以在配置文件中修改 //追蹤運行信息 logger.trace("這是trace日志信息"); //調試信息 logger.debug("這是debug日志信息"); //自定義信息 logger.info("這是info日志信息"); //警告信息 logger.warn("這是warn日志信息"); //錯誤信息 logger.error("這是error日志信息"); } }
仔細觀察你的控制台,發現只有info級別以上的日志,trace和debug沒有顯示。這個可以在配置文件中進行設置。
#修改指定包的日志輸出級別為debug以上
logging.level.top.yelow=debug
#修改整個的默認級別
#logging.level.root=debug
第一個level之后是指定的包,在這個包里面的日志會輸出debug級別以上的。
而第二個.root是整個項目的默認級別。不建議修改,因為級別低的日志非常多。
2.輸出日志到文件
#輸出日志到項目根目錄下的springboot.log文件中
logging.file.name=springboot.log
#輸出日志到項目所在磁盤的/springboot/log文件夾中的spring.log文件中
#logging.file.path=/springboot/log
當兩種方式都存在時,采用的是file方法,所以推薦file方法,file方法也可以指定目錄,只要在前面寫上完整的磁盤和路徑
3.修改日志輸出格式
#修改控制台日志輸出的格式,以下方法無法修改日志文件的輸出格式
logging.pattern.console=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n
#修改日志文件中日志的輸出格式
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} >>> [%thread] >>> %-5level >>> %logger{50} >>> %msg%n
日志輸出格式說明:
%d 輸出日期時間,
%thread 輸出當前線程名,
%-5level 輸出日志級別,左對齊5個字符寬度
%logger{50} 輸出全類名最長50個字符,超過按照句點分割
%msg 日志信息
%n 換行符
