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

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

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

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

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

写完了 我们来测试一下

然后启动项目

然后我们访问这个接口

可以看到 这边一切正常

相关推荐
IT 行者10 小时前
GitHub Spec Kit 实战(四):读懂和干预 /speckit.plan——AI 最自由发挥的一步
java·人工智能·github·ai编程·claude
独隅10 小时前
IntelliJ IDEA 在 Windows 上的完整安装与使用指南
java·windows·intellij-idea
Misnearch10 小时前
为什么List<int[]> ans = new ArrayList<>()能成功创建
java·object
前端Hardy10 小时前
一个时代结束了:npm 终于对 install 脚本下手了
前端·javascript·后端
damaoyou10 小时前
Cog3DRangeImagePlaneEstimatorTool完全指南
后端
梦想的颜色10 小时前
从零入门:Docker在Ubuntu上的安装、使用与主流镜像仓库实战(Java/Go/MySQL/PostgreSQL/MongoDB/Nginx
java·ubuntu·docker
Nturmoils10 小时前
分页别写太顺手,LIMIT 背后还有排序和边界
数据库·后端
是多巴胺不是尼古丁10 小时前
期末java复习--string
java·开发语言·python
神奇小汤圆10 小时前
国产版“Codex”初体验,智谱ZCode很强啊!
后端
站大爷IP10 小时前
Python里的“赋值”到底是什么意思?
后端