一、日志概述
日志主要是为了发现问题、分析问题、定位问题,除此之外还有很多用途,如监控程序、记录数据用于分析等。
二、使用日志
2.1 打印日志
在程序中打印 SpringBoot 的日志,需要先拿到日志对象。从 org.slf4j 包下的 LoggerFactory 静态类获取实例。
private final static Logger LOGGER = LoggerFactory.getLogger(LogController.class);
通过 Logger 类中的 info 方法打印日志。
package com.example.captcha.Controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/log")
@RestController
public class LogController {
private final static Logger LOGGER = LoggerFactory.getLogger(LogController.class);
@RequestMapping("/print")
public String print() {
LOGGER.info("日志");
return "日志";
}
}
得到的日志输出如下:
2.2 日志框架
在使用 Logger 类时,会涉及多个包。它们的关系如下:
以电视机和遥控器为例,日志实现相当于不同品牌的电视,而日志门面就相当于一个通用的遥控器。
2.2.1 门面 / 外观模式
门面模式:门面模式(Facade Pattern)又称为外观模式,提供了一个统一的接口,用来访问子系统中一群接口。其主要特征是定义了一个高层接口,让子系统更容易使用。


