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