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 分钟前
《Nginx核心技术》第11章:实现MySQL数据库的负载均衡
后端·nginx·架构
daidaidaiyu22 分钟前
Spring BeanPostProcessor接口
java·spring
weixin_4365250727 分钟前
SpringBoot 单体服务集成 Zipkin 实现链路追踪
java·spring boot·后端
q***783731 分钟前
【玩转全栈】----Django制作部门管理页面
后端·python·django
她说..38 分钟前
Redis实现未读消息计数
java·数据库·redis·缓存
book多得1 小时前
Redis 大 Key 问题:识别、危害与最优处理方案
java·redis·mybatis
Yeats_Liao1 小时前
时序数据库系列(八):InfluxDB配合Grafana可视化
数据库·后端·grafana·时序数据库
任子菲阳1 小时前
学Java第四十三天——Map双列集合
java·开发语言
zeijiershuai2 小时前
Java 会话技术、Cookie、JWT令牌、过滤器Filter、拦截器Interceptor
java·开发语言
fury_1232 小时前
tsfile.raw提示
java·前端·javascript