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

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

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

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

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

写完了 我们来测试一下

然后启动项目

然后我们访问这个接口

可以看到 这边一切正常

相关推荐
逍遥德3 分钟前
PostgreSQL ---【序列】用法详解
数据库·后端·sql·postgresql
逍遥德4 分钟前
PostgreSQL --- 自增主键【序列】的避坑指南
数据库·后端·sql·mysql·postgresql·sqlserver
段ヤシ.11 分钟前
【Java框架】知识点汇总Day7:Spring Boot +Vue(持续更新)
vue.js·spring boot·后端·框架
土狗TuGou11 分钟前
SQL进阶笔记 · 第1篇:存储引擎
java·数据库·笔记·后端·sql·mysql
雨落在了我的手上18 分钟前
Java数据结构(一):初识集合框架
java·开发语言
码语智行19 分钟前
Spring Security自定义AuthenticationManager实现手机号/密码双认证
java·后端·spring
SuniaWang19 分钟前
《AgentX 专栏》07-全链路可观测:用OpenTelemetry+Jaeger让每次AI对话都可追踪可复盘
java·人工智能·spring·架构·langchain·opentelemetry·agenx
fengxin_rou20 分钟前
【从零开始的JUC并发第五章】:线程池详解
java·jvm·spring
咖啡八杯24 分钟前
GoF设计模式——装饰模式
java·算法·设计模式·装饰器模式
_Aaron___25 分钟前
RAG 知识库越用越脏?先把“增量更新”设计清楚
java·人工智能