功能
- 帮助开发者了解应用程序的运行状态、调试问题以及监控应用程序的行为
分类
- 消息
- 警告
- 错误
- 调试信息
细节
- Spring Boot默认使用Apache Commons Logging作为内部的日志框架。也可以通过配置使用其他日志框架
- 日志门面是一个抽象层,只定义了日志纪录的接口,并不提供日志记录的具体实现
- 日志实现是具体实现日志记录功能的库或框架。它实现了日志门面定义的接口,并提供实际的日志记录能力。如:Logback、Log4
使用
- 要自己生成日志,我们可以使用Lombok 库提供的一个注解
@Slf4j
@Slf4j
注解可以为当前的类自动生成一个 SLF4J的日志对象,通常这个对象被命名为 log
Example:
@Slf4j
public class LogExample {
}
will generate:
public class LogExample {
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LogExample.class);
}
- Logger 接口定义了记录不同级别的日志信息的方法,以便于开发者根据日志级别来过滤和查看应用程序的运行情况
- info(): 一般信息,通常是应用程序运行中的正常事件或者流程信息。这些信息通常对监控应用程序的日常运行是有帮助的。
- debug(): 调试信息,这些信息通常只在开发阶段需要,用于帮助开发者诊断问题。
- warn(): 警告信息,表明应用程序可能遇到一些不正常或不期望的情况,但这些情况并不影响应用程序的继续运行。
- error(): 错误信息,通常是指应用程序遇到了严重的错误,这些错误可能会导致应用程序的部分功能失败或者整个应用程序崩溃。
import lombok.extern.slf4j.Slf4j;
@RestController
@Slf4j
public class TestController {
@RequestMapping(value = "/test")
public String test() {
log.info("Hello, world!");
log.warn("Hello, world!");
log.error("Hello, world!");
return "Hello, world!";
}
}
Last updated on