springboot:日志(日志框架、关系、级别)

1、日志框架

(1)日志门面和日志实现

  • 日志门面(抽象层):SL4j(Simlple Logging Facade for Java)、JCL、jboss-logging等
  • 日志实现(实现):Log4j、JUL、Log4j2、Logback
  • springboot:底层是spring框架,spring框架默认是用JCL;springboot选用的是SLF4j和logback

(2)SLF4j的使用

  • 以后开发的时候,日志记录方法的调用,不应该直接调用日志的实现类,而是调用抽象层里面的方法
  • 需要给系统里面导入slf4j的jar和logback的实现jar

(3)SLF4j

可以实现统一使用SLF4j,即使依赖于其它框架

  • 将系统中其他日志框架先排除出去
  • 用中间包来替换原有的日志框架
  • 导入slf4j的其他实现

 

2、springboot的日志关系

(1)spring boot starter依赖关系

springboot:日志(日志框架、关系、级别)_第1张图片

 

 

 springboot日志底层依赖关系:

springboot:日志(日志框架、关系、级别)_第2张图片

 

 

 底层是slf4j+logback的方式进行日志记录,把其他的日志都替换为了slf4j,实现日志的统一

 

3、日志的级别

(1)测试

@SpringBootTest
public class DemoApplicationTests {
    //记录器
    Logger logger= LoggerFactory.getLogger(getClass());
    @Test
    public void contextLoads() {
     logger.trace("我是日志信息");
     logger.debug("我是debug信息");
     logger.info("info");
     logger.warn("warn");
     logger.error("error");
    }
}
17:58:05.919 [main] DEBUG com.zhb.demo.DemoApplicationTests - 我是debug信息
17:58:05.958 [main] INFO com.zhb.demo.DemoApplicationTests - info
17:58:05.958 [main] WARN com.zhb.demo.DemoApplicationTests - awrn
17:58:05.958 [main] ERROR com.zhb.demo.DemoApplicationTests - error
  • 日志的级别,由低到高,是trace、debug、info、warn、error
  • 日志的级别可以调整,日志就只会在这个级别以后的高级别生效
  • 调整日志级别后,日志就只会在这个级别以后的高级别生效,上例中默认是debug级别的

(2)日志的配置

logging.level.com.zhb=warn
//在当前磁盘(项目存在的磁盘)创建目录和文件
logging.file.path=s/123.log

 

你可能感兴趣的:(springboot:日志(日志框架、关系、级别))