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日志底层依赖关系:
底层是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