场景

slf4jGithub:

https://github.com/qos-ch/slf4j

实现

新建log包,包下新建Log.java

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import java.util.HashMap;
import java.util.Map;public class Log {private static String logPrefix = "badao log -> ";private static Log instance;private static Logger logger = null;private static Map<Class, Logger> loggerList = new HashMap<Class, Logger>(); //用于缓存logger对象/*** 定义私有构造方法实现单例*/private Log() {}/*** 功能说明:获取服务实例的静态方法* 修改说明:* @author badao* @date* @param obj 传入调用此方法的对象* @return*/public synchronized static Log getInst(Object obj) {if (instance == null) {instance = new Log();}Log.logger = loggerList.get(obj.getClass());if (Log.logger == null) {Log.logger = LoggerFactory.getLogger(obj.getClass());//Log.logger = Logger.getLogger(obj.getClass());loggerList.put(obj.getClass(), Log.logger);}return instance;}/*** 功能说明:获取服务实例的静态方法* 修改说明:* @author badao* @date* @param clazz 传入调用此方法的类型* @return*/public synchronized static Log getInst(Class clazz) {if (instance == null) {instance = new Log();}Log.logger = loggerList.get(clazz);if (Log.logger == null) {Log.logger = LoggerFactory.getLogger(clazz);loggerList.put(clazz, Log.logger);}return instance;}/*** 功能说明:获取服务实例的静态方法* 修改说明:* @author badao* @date* @return*/public synchronized static Log getInst() {if (instance == null) {instance = new Log();}Log.logger = loggerList.get(Log.class);if (Log.logger == null) {Log.logger = LoggerFactory.getLogger(Log.class);loggerList.put(Log.class, Log.logger);}return instance;}public void trace(String message) {Log.logger.trace(logPrefix + message);}public void trace(String message, Throwable t) {Log.logger.trace(logPrefix + message, t);}public void debug(String message) {Log.logger.debug(logPrefix + message);}public void debug(String message, Throwable t) {Log.logger.debug(logPrefix + message, t);}public void info(String message) {Log.logger.info(logPrefix + message);}public void info(String message, Throwable t) {Log.logger.info(logPrefix + message, t);}public void warn(String message) {Log.logger.warn(logPrefix + message);}public void warn(String message, Throwable t) {Log.logger.warn(logPrefix + message, t);}public void error(String message,Object... arguments) {Log.logger.error(logPrefix + message,arguments);}public void error(String message, Throwable t, Object... arguments) {Log.logger.error(logPrefix + message,t,arguments);}
}

使用的地方导入包

import com.badao.log.Log;

然后使用

 try {Log.getInst(this).debug("霸道测试成功!");} catch (Exception e) {Log.getInst(this).debug("霸道测试错误!"+e.getMessage());}

SpringBoot中怎样基于slf4j封装日志类输出日志相关推荐

  1. Android捕捉崩溃日志并输出日志文件

    Android捕捉崩溃日志并输出日志文件 当程序与运行时发生崩溃,可以捕捉到当前崩溃的日志信息并写入文件保存到指定的目录下.这里还做了最大文件数量限制,超过数量即删除旧日志文件. import jav ...

  2. logback日志配置(控制台日志、输出日志、错误日志)

    logback日志配置(控制台日志.输出日志.错误日志) 一.logback.xml相关配置: <?xml version="1.0" encoding="UTF- ...

  3. 【日志包】go语言如何设计日志包 - 基于zap封装适合自己的日志包

    文章目录 前言 一.自己设计log包的重要性 二.日志包的基本需求 1. 全局logger和传递参数的logger的用法 2. 日志包的基本需求 logger最基本的功能 3. 日志debug.inf ...

  4. log4j 禁止类输出日志_SpringBoot统一日志处理原理

    阅读推荐 程序员跳槽时机已到,闲聊中面试官无意泄题 SpringBoot作为日常开发利器,开箱即用,大量的star等已经成为节省开发的重要框架之一,但是各个框架的star中引入的日志框架却不尽相同,有 ...

  5. log4j 禁止类输出日志_springboot日志详解

    一. 主流日志框架 市场上存在非常多的日志框架. JUL(java.util.logging),JCL(Apache Commons Logging),Log4j,Log4j2,Logback. SL ...

  6. SpringBoot+log4j2的思路记录,实现每天输出日志文件

    收到大哥的一个要求:要用log4j2来记录开发过程中产生的信息,并以天为单位,保存日志文件:七天为一个周期. 听到这个需求,心里直打鼓,怎么做啊: 学习了一圈下来以后,也算是完成了这个任务安排: 乘机 ...

  7. log4j 禁止类输出日志_log4j 2过滤spring日志遇到的问题

    在项目中使用testng写单元测试,使用log4j输出日志,spring的日志也被打印出来,在调试的时候看到一片一片的spring日志很烦,总是要找自己的输出日志. 这样式的~~~ 找了一下log4j ...

  8. 4j 禁止类输出日志_logback 日志详细讲解

    Logback介绍 Logback是一个开源日志组件,logback被分为3个组件,logback-core,logback-classic和logback-access. Logback是具体的日志 ...

  9. SpringBoot中操作spring redis的工具类

    场景 SpringBoot+Vue+Redis实现前后端分离的字典缓存机制: https://blog.csdn.net/badao_liumang_qizhi/article/details/108 ...

最新文章

  1. codevs1688 求逆序对(权值线段树)
  2. Opencv2.4.9源码分析要点摘录
  3. Windows服务器版本简介
  4. 快排堆排归排三种排序的比较
  5. tankwar的java坦克子弹撞墙_TankWar 单机(JAVA版)版本2.0.5 坦克撞墙的处理
  6. mac php errorlog,Mac下使用php的error_log()函数发送邮件
  7. Android应用程序与SurfaceFlinger服务的连接过程分析
  8. 金融数据分析与挖掘实战1.4.4-1.5.1
  9. IDEA从git上clone项目
  10. UVA 11044
  11. centos php solr 安装,centos下安装配置solr全纪录
  12. 使用AForge录制视频
  13. 使用ceph-deploycep集群部署,并用3个磁盘作为专用osd
  14. 基于deepfacelab体验AI换脸
  15. Pytorch 实现手写数字识别
  16. linux查看本机IP掩码,linux下 取得本机ip、掩码、网关
  17. Unity3D内置Shader私房课(三)Decal贴花
  18. 企业级带库走向大型化、智能化
  19. 网页 SEO 优化(搜索引擎优化)
  20. 【效率】好用到爆!GitHub 星标 32.5k+的命令行软件管理神器,功能真心强大!...

热门文章

  1. SQL语句中大于等于小于的写法
  2. python为什么说csv文件不存在_如果CSV文件不存在,则如何创建它,然后仅将其追加到Python中...
  3. python标识符和关键字_Python标识符和关键字资料解析
  4. 怎么把cad的图导入ps_PS中怎么抠图?以扣取头部图像为例
  5. springboot分页展示功能_springboot+vue实现分页功能
  6. 一个具有20位地址和32位字长的存储器_step7编程之地址概念详解
  7. halfstone 原理_HashMap的结构以及核心源码分析
  8. php移除所有子节点,PHP 循环删除无限分类子节点的实现代码
  9. oracle订单,银科软件:Oracle ERP订单管理模块详细介绍
  10. centos7安装wget_Centos7系统切换Python2到Python3.x