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 分钟前
可变参数模板
java·开发语言·算法
t***54421 分钟前
如何在现代C++中更有效地应用这些模式
java·开发语言·c++
_深海凉_21 分钟前
LeetCode热题100-最小栈
java·数据结构·leetcode
不知名的忻26 分钟前
Morris遍历(力扣第99题)
java·算法·leetcode·morris遍历
daidaidaiyu39 分钟前
一文学习入门 ThingsBoard 开源物联网平台
java·mqtt·spring
状元岐40 分钟前
C#反射从入门到精通
java·javascript·算法
亚历克斯神42 分钟前
Elasticsearch 全文搜索实战:构建企业级搜索引擎
java·spring·微服务
亚历克斯神43 分钟前
Spring Boot 与 Elasticsearch 8.0 集成
java·spring·微服务
王码码203544 分钟前
Go语言的包管理:从GOPATH到Go Modules
后端·golang·go·接口
星晨雪海2 小时前
Lombok 注解使用场景终极总结
java·数据库·mysql