为什么使用日志?
开始接触Java的时候,我们在测试的时候通常会使用System.out.println()将我们想要知道的信息打印到控制台。但是,如果在服务器上运行我们的Java程序的时候就凸显了日志对于一个系统来说的重要性,查找异常信息、分析系统运行情况等都需要用到日志。
为什么是SLF4J?
默认情况下,Spring Boot会用SLF4J + Logback来记录日志,并用INFO级别输出到控制台。
SLF4J,即简单日志门面(Simple Logging Facade for Java),它可以看做是一个接口框架,并不提供具体的实现,具体的实现由类似于Log4j,Log4j2,Logback等等这样的日志框架去完成
- SLF4J让你的代码独立于任何特定的日志记录API,可以让我们的程序更加的健壮,不会让你因为不同日志的实现而导致的问题去分心。
- 使用SLF4J的另外一个理由就是,它可以支持占位符
怎么使用SLF4J?
如果我们在一个Spring Boot 的程序中去使用SLF4J,我们不需要去引入其他的包,因为我们引入的有关spring-boot-starter中就已经包含了有关slf4j的jar包。我们只需要通过LoggerFactory去获取即可。另一种方式是配合Lombok使用@Slf4j
首先在pom.xml中添加Lombok的依赖:
<!--lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency>
然后,我们在项目中就可以这样去使用:
@Slf4j
@Controller
@RequestMapping("/user")
public class UserController {@Autowiredprivate UserService userService;@ResponseBody@RequestMapping("/findAll")public List<User> findAll(){log.info("information====");return userService.list();}