赞
踩
Spring Boot在所有内部日志中使用Commons Logging,但是对底层日志的实现是开放的。在Spring Boot生态中,为Java Util Logging 、Log4J2 和Logback 这些常见的日志框架都提供了自动化配置组件,每种Logger都可以通过配置在控制台或者文件中输出日志内容。默认情况下,当我们使用各种Starter的时候,会使用Logback来实现日志管理。
在介绍写日志的方式有很多,这里就不对各种方式做罗列了,只讲DD用得最多的方式!
首先,在代码层面,我们不纠结到底用默认的Logback还是Log4j,而是直接用:Slf4j。
为什么不用管具体用Logback还是Log4j就可以去写代码呢?这个就是使用Slf4j好处!那么什么是Slf4j?英文全称:Simple Logging Facade for Java,即:简单日志门面,它并不是一个具体的日志解决方案,实际工作的还是Logback或Log4j这样的日志框架。Slf4j是23种设计模式中门面模式的典型应用案例,通过Slf4j这样一个门面的抽象,让我们在写代码的记录日志的时候,只依赖这个抽象的操作,而具体实现会在Slf4j门面调用的时候委托给具体的实现日志记录的框架。
比如:下面的就是一个简单的使用Slf4j记录日志例子:
- @Slf4j
- @SpringBootApplication
- public class Application {
-
- public static void main(String[] args) {
- SpringApplication.run(Application.class, args);
-
- log.error("Hello World");
- log.warn("Hello World");
- log.info("Hello World");
- log.debug("Hello World");
- log.trace("Hello World");
- }
-
- }
注意:这里我们通过在pom.xml
中引入了Lombok,然后使用@Slf4j
声明引入Slf4j的log
日志记录对象,之后就可以轻松的用它来日志了。而这个日志具体是如何写到控制台或者文件的,则有Spring Boot项目中引入了什么具体的日志框架决定,默认情况下就是Logback。
启动任意一个Spring Boot项目,我们都可以在控制台看到很多日志信息,比如下面这样的一条日志:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。