在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