SpringBoot中怎样基于slf4j封装日志类输出日志
场景
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封装日志类输出日志相关推荐
- Android捕捉崩溃日志并输出日志文件
Android捕捉崩溃日志并输出日志文件 当程序与运行时发生崩溃,可以捕捉到当前崩溃的日志信息并写入文件保存到指定的目录下.这里还做了最大文件数量限制,超过数量即删除旧日志文件. import jav ...
- logback日志配置(控制台日志、输出日志、错误日志)
logback日志配置(控制台日志.输出日志.错误日志) 一.logback.xml相关配置: <?xml version="1.0" encoding="UTF- ...
- 【日志包】go语言如何设计日志包 - 基于zap封装适合自己的日志包
文章目录 前言 一.自己设计log包的重要性 二.日志包的基本需求 1. 全局logger和传递参数的logger的用法 2. 日志包的基本需求 logger最基本的功能 3. 日志debug.inf ...
- log4j 禁止类输出日志_SpringBoot统一日志处理原理
阅读推荐 程序员跳槽时机已到,闲聊中面试官无意泄题 SpringBoot作为日常开发利器,开箱即用,大量的star等已经成为节省开发的重要框架之一,但是各个框架的star中引入的日志框架却不尽相同,有 ...
- log4j 禁止类输出日志_springboot日志详解
一. 主流日志框架 市场上存在非常多的日志框架. JUL(java.util.logging),JCL(Apache Commons Logging),Log4j,Log4j2,Logback. SL ...
- SpringBoot+log4j2的思路记录,实现每天输出日志文件
收到大哥的一个要求:要用log4j2来记录开发过程中产生的信息,并以天为单位,保存日志文件:七天为一个周期. 听到这个需求,心里直打鼓,怎么做啊: 学习了一圈下来以后,也算是完成了这个任务安排: 乘机 ...
- log4j 禁止类输出日志_log4j 2过滤spring日志遇到的问题
在项目中使用testng写单元测试,使用log4j输出日志,spring的日志也被打印出来,在调试的时候看到一片一片的spring日志很烦,总是要找自己的输出日志. 这样式的~~~ 找了一下log4j ...
- 4j 禁止类输出日志_logback 日志详细讲解
Logback介绍 Logback是一个开源日志组件,logback被分为3个组件,logback-core,logback-classic和logback-access. Logback是具体的日志 ...
- SpringBoot中操作spring redis的工具类
场景 SpringBoot+Vue+Redis实现前后端分离的字典缓存机制: https://blog.csdn.net/badao_liumang_qizhi/article/details/108 ...
最新文章
- codevs1688 求逆序对(权值线段树)
- Opencv2.4.9源码分析要点摘录
- Windows服务器版本简介
- 快排堆排归排三种排序的比较
- tankwar的java坦克子弹撞墙_TankWar 单机(JAVA版)版本2.0.5 坦克撞墙的处理
- mac php errorlog,Mac下使用php的error_log()函数发送邮件
- Android应用程序与SurfaceFlinger服务的连接过程分析
- 金融数据分析与挖掘实战1.4.4-1.5.1
- IDEA从git上clone项目
- UVA 11044
- centos php solr 安装,centos下安装配置solr全纪录
- 使用AForge录制视频
- 使用ceph-deploycep集群部署,并用3个磁盘作为专用osd
- 基于deepfacelab体验AI换脸
- Pytorch 实现手写数字识别
- linux查看本机IP掩码,linux下 取得本机ip、掩码、网关
- Unity3D内置Shader私房课(三)Decal贴花
- 企业级带库走向大型化、智能化
- 网页 SEO 优化(搜索引擎优化)
- 【效率】好用到爆!GitHub 星标 32.5k+的命令行软件管理神器,功能真心强大!...
热门文章
- SQL语句中大于等于小于的写法
- python为什么说csv文件不存在_如果CSV文件不存在,则如何创建它,然后仅将其追加到Python中...
- python标识符和关键字_Python标识符和关键字资料解析
- 怎么把cad的图导入ps_PS中怎么抠图?以扣取头部图像为例
- springboot分页展示功能_springboot+vue实现分页功能
- 一个具有20位地址和32位字长的存储器_step7编程之地址概念详解
- halfstone 原理_HashMap的结构以及核心源码分析
- php移除所有子节点,PHP 循环删除无限分类子节点的实现代码
- oracle订单,银科软件:Oracle ERP订单管理模块详细介绍
- centos7安装wget_Centos7系统切换Python2到Python3.x