Spring Boot将声明日志步骤抽离出来做一个复用类

上文Spring Boot日志基础使用 设置日志级别中我们写了个比较基本的日志操作

但也随之产生了一个问题

我们这行代码 能不能不写?

具体说 我们不希望每个需要日志的类都声明一个在这 看着太不美观了

我们最简单方法当然是继承

我们找个目录创建一个类 叫 BaseClass

参考代码如下

java 复制代码
package com.example.webdom.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class BaseClass {
    private Class<?> clazz;
    public static Logger log;

    public BaseClass(){
        clazz = this.getClass();
        log = LoggerFactory.getLogger(clazz);
    }
}

这里 我们先将日志对象 和当前类的对象都定义出来 但是不赋值

然后 在构造方法中 那当前的类 赋值之后 传给日志对象

这样 谁继承我们 我们日志套的就是谁 达到了代码复用的效果

然后 我们这边 将原本这个类 声明日志的代码去掉 继承一下我们自己写的这个通用日志类

写完了 我们来测试一下

然后启动项目

然后我们访问这个接口

可以看到 这边一切正常

相关推荐
小碗羊肉1 分钟前
【JavaWeb | 第五篇】JDBC
java·开发语言·数据库
江南十四行16 分钟前
Python上下文管理器与with语句——资源管理的艺术
java·jvm·数据库
书源丶17 分钟前
四十五、函数式接口与 Lambda 表达式
java·开发语言
直奔標竿18 分钟前
MySQL与Redis数据一致性实战方案(避坑指南)
java·数据库·spring boot·redis·mysql·spring·缓存
fliter19 分钟前
你的网站对 AI Agent 友好吗?Cloudflare 给整个互联网打了一个分
后端
java1234_小锋20 分钟前
Java进程突然挂了如何排查?
java·开发语言
夕除24 分钟前
spring boot--04
java·spring boot
java小白小1 小时前
Guava Cache 本地缓存
java
星栈1 小时前
Rust + DDD 三层架构:没有 Spring、没有 DI 容器,解耦能力一点不少
后端·github
梦梦代码精1 小时前
LikeShop 二次开发扩展能力白皮书——面向业务增长的可扩展电商架构实践
java·架构·github