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

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

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

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

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

写完了 我们来测试一下

然后启动项目

然后我们访问这个接口

可以看到 这边一切正常

相关推荐
考虑考虑2 分钟前
docker compose环境变量替换
运维·后端·自动化运维
彧azz1 小时前
Java学习语法篇:变量
java·学习
武雄(小星Ai)1 小时前
飞书API上传26MB文件偶发失败:错误码9499与空响应体排坑实录
后端·api·排坑实录
徐小夕1 小时前
JitWord 4.0 万字分享:从协同工具到AI Word操作系统,聊聊3年产品创业史
前端·vue.js·后端
信誓旦旦的程序猿2 小时前
【量化系统从零构建 #04】存储设计:选型·建库·交易日历
java·人工智能·python·股票数据api·股票数据·股票数据api接口·股票api数据接口
yurenpai(27届找实习中)2 小时前
Java 10 的 var 为什么不能随便用?从订单汇总看懂类型推断与泛型陷阱
java·开发语言·java18
geovindu3 小时前
CSharp: Observer Pattern
开发语言·后端·观察者模式·设计模式·c#·.netcore·行为模式
Flynt3 小时前
把公司项目迁到 Spring Boot 4.0:编译通过只是开始
java·spring boot·后端
IT_陈寒3 小时前
Redis误用keys命令把生产环境搞崩了,血的教训
前端·人工智能·后端
Tangyuewei3 小时前
给老 Spring 项目装个 AI Agent
java·人工智能·spring