在springBoot中使用LoggerFactory.getLogger()不需要加入依賴
導入的包為:
1 import org.slf4j.Logger; 2 import org.slf4j.LoggerFactory;
實現步驟為:
步驟1. 在項目配文件application.properties中配置日志級別
1 logging.level.root=warn //建議采用這種全局設置級別的方式,因為項目比較大的時候,如果只設定一個包下的日志級別,該包外還有其他的應用也會產生很多不同級別的日志,難以辨別,如下圖1 2 #logging.level.com.shequ=warn //com.shequ為包名
圖1
步驟2. 打印日志1---在測試類中進行測試日志打印
1 @SpringBootTest 2 public class mapperTest { 3 private static final Logger log = LoggerFactory.getLogger(mapperTest.class);//指定要打印日志的目標類 4 5 6 @Test 7 public void TestMe() { 8 log.debug("Hello ExecutorService"); 9 log.warn("Hello ExecutorService"); 10 log.error("Hello ExecutorService"); 11 log.info("Hello ExecutorService"); 12 log.info("Hello ExecutorService"); 13 log.debug("Hello ExecutorService"); 14 } 15 }
運行結果如下,由於日志設置的級別為logging.level.root=warn,因此只打印warn級別之上的
步驟2. 打印日志2---在配置類中進行測試日志打印---這時候需要啟動整個項目(也就是啟動主類),配置類才會啟動
1 @Configuration 2 public class logController { 3 private static final Logger log = LoggerFactory.getLogger(logController.class);//指定要打印日志的目標類 4 5 @Bean 6 public User logMethod(){ 7 log.debug("Hello ExecutorService"); 8 log.warn("Hello ExecutorService"); 9 log.error("Hello ExecutorService"); 10 log.info("Hello ExecutorService"); 11 log.info("Hello ExecutorService"); 12 log.debug("Hello ExecutorService"); 13 14 return new User(); 15 } 16 }
運行結果如下:也成功了
步驟2. 打印日志3---在主方法中進行測試日志打印
1 public class logController { 2 private static final Logger log = LoggerFactory.getLogger(logController.class);//指定要打印日志的目標類 3 4 public static void main(String[] args) { 5 log.debug("Hello ExecutorService"); 6 log.warn("Hello ExecutorService"); 7 log.error("Hello ExecutorService"); 8 log.info("Hello ExecutorService"); 9 log.info("Hello ExecutorService"); 10 log.debug("Hello ExecutorService"); 11 } 12 }
運行結果如下,失敗了,設置的日志級別沒起作用。啟動時沒有SpringBoot的圖標,感覺與前兩次的測試的啟動不同,具體原因不知道
小結:
1、如果是測試看效果,建議設置的日志級別高一點,warn或者error,不然會被淹沒掉
2、建議采用全局設置級別的方式logging.level.root=warn
以上都是將日志輸出到控制台,平時開發中還行,但是真實項目運行中需要將日志保存到文件中,便於查看,實現步驟如下:
步驟1. 在項目配文件application.properties中配置日志保存路徑
1 logging.level.root=warn 2 #logging.level.com.shequ=warn 3 logging.file=d:/work/data/projectLogs/shequProject.log #日志保存路徑
運行項目,控制台有日志輸出,也會自動創建文件,將日志保存到相應文件中: