Spring系列(七) --- SpringBoot 自定义打印日志的两种方式

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");
    }
}

运行结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Onion_521257/article/details/129853419