1 先获取到日志对象, 然后使用日志对象提供的方法实现日志的打印
@Controller
@ResponseBody
public class LoggerController {
// 1. 得到日志对象(来自 slf4)
// 设置当前类的类型(+ LoggerController.class)
private final static Logger log =
LoggerFactory.getLogger(LoggerController.class);
@RequestMapping("/sayHi")
public void sayHi() {
// 2. 使用日志对象提供的打印方法进行日志打印
log.trace("我是 trace");
log.debug("我是 debug");
log.info("我是 info");
log.warn("我是 ware");
log.error("我是 error");
}
}
运行结果:
日志级别:
设置日志持久化保存, 也是两种方式:
- 方式一: 设置日志的保存路径 (路径最好自己拷贝过来), SpringBoot 会按照自己的格式生成日志文件到相应的目录;
- 方式二: 这是日志的保存文件名, SpringBoot 会按照设置的文件来保存日志;
结果显示:
方式一:
方式二:
设置全局和局部日志级别:
当存在局部日志级别和全局日志级别时, 当访问局部日志的时候使用的就是局部日志的级别, 也就是说局部日志的级别优先级 > 全局日志级别.
2 使用 @slf4j 注解 (更简单)
步骤一: 添加依赖;
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
步骤二: 加上 @slf4j 注解;
@Service
@Controller // 他是与前端进行交互的, 因此如果不加 @Controller 的话, 他是访问不到 sayHo 的.
@ResponseBody
@Slf4j
public class LoggerService {
@RequestMapping("/sayHo")
public void sayHo() {
log.trace("1是 trace");
log.debug("2是 debug");
log.info("3是 info");
log.error("4是 error");
}
}
运行结果: