当前位置: 首页 > news >正文

做一个网站难不难ui培训

做一个网站难不难,ui培训,北京市建设教育协会网站查询系统,店面设计的重要性slf4j 是一个日志规范框架;基本上所有的 JAVA 日志都要实现这个规范;比如:Logback、log4j、log4j2;本文档记载如何实现 slf4j 规范;实现自己的日志框架; slf4j 分为两个部分,其中包含 &#xf…

slf4j 是一个日志规范框架;基本上所有的 JAVA 日志都要实现这个规范;比如:Logbacklog4jlog4j2;本文档记载如何实现 slf4j 规范;实现自己的日志框架;

slf4j 分为两个部分,其中包含 :1.7.x 及其以前的版本、1.7.x 以后的版本;之所以这么说;是因为他们区分注册方式,前面的版本使用固定的类路径进行注册,后面版本使用 JAVA SPI 进行注册

1. 重写日志实现

实现日志打印类,包含了日志输出的逻辑方法:

package com.maple.logger;import org.slf4j.Logger;import java.io.Serializable;public final class MapleLogger implements Logger, Serializable {private final String loggerName;public MapleLogger(String loggerName) {this.loggerName = loggerName;}@Overridepublic String getName() {return this.loggerName;}
}

实现日志打印类获取工厂:

package com.maple.logger;import org.slf4j.ILoggerFactory;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;public class MapleLoggerFactory implements ILoggerFactory {private final ConcurrentMap<String, MapleLogger> loggerMap = new ConcurrentHashMap<>();@Overridepublic MapleLogger getLogger(String name) {MapleLogger logger = loggerMap.get(name);if (logger != null) {return logger;} else {MapleLogger newInstance = new MapleLogger(name);MapleLogger oldInstance = loggerMap.putIfAbsent(name, newInstance);return oldInstance == null ? newInstance : oldInstance;}}
}

2. 日志绑定

这里才是不同版本的区别,负责把日志框架绑定到运行的程序上下文中:

首先说 1.7.x 之前的版本绑定方法:

创建一个绑定类,用于返回日志工厂实力,但是此类路径必须固定死为 org.slf4j.impl.StaticLoggerBinder 如果不是这个全限定名,则无法进行绑定

package org.slf4j.impl;import com.maple.logger.MapleLoggerFactory;
import org.slf4j.ILoggerFactory;public class StaticLoggerBinder implements org.slf4j.spi.LoggerFactoryBinder {private static StaticLoggerBinder SINGLETON = new StaticLoggerBinder();public static String REQUESTED_API_VERSION = "1.0";private static final String loggerFactoryClassStr = MapleLoggerFactory.class.getName();private final ILoggerFactory loggerFactory;private StaticLoggerBinder() {loggerFactory = new MapleLoggerFactory();}@Overridepublic ILoggerFactory getLoggerFactory() {return loggerFactory;}@Overridepublic String getLoggerFactoryClassStr() {return loggerFactoryClassStr;}public static StaticLoggerBinder getSingleton() {return SINGLETON;}
}

再说 1.7.x 之后的版本绑定方法:

这里采用 SPI 方式进行加载日志绑定类,首先创建日志绑定类:

package com.maple.logger;import org.slf4j.ILoggerFactory;
import org.slf4j.IMarkerFactory;
import org.slf4j.helpers.BasicMDCAdapter;
import org.slf4j.helpers.BasicMarkerFactory;
import org.slf4j.spi.MDCAdapter;
import org.slf4j.spi.SLF4JServiceProvider;public class MapleSLF4JServiceProvider implements SLF4JServiceProvider {public static String REQUESTED_API_VERSION = "2.0.16";private ILoggerFactory loggerFactory;private IMarkerFactory markerFactory;           // 可以根据自己需求进行重写private MDCAdapter mdcAdapter;                  // 可以根据自己需求进行重写@Overridepublic void initialize() {loggerFactory = new MapleLoggerFactory();markerFactory = new BasicMarkerFactory();mdcAdapter = new BasicMDCAdapter();}@Overridepublic ILoggerFactory getLoggerFactory() {return loggerFactory;}@Overridepublic IMarkerFactory getMarkerFactory() {return markerFactory;}@Overridepublic MDCAdapter getMDCAdapter() {return mdcAdapter;}@Overridepublic String getRequestedApiVersion() {return REQUESTED_API_VERSION;}
}

然后添加 SPI 文件,在 resources/META-INF/services 下创建 org.slf4j.spi.SLF4JServiceProvider 文件,文件内容即上面方法的全限定名

http://www.hrbkazy.com/news/16458.html

相关文章:

  • 临沂做网站哪里好静态网站开发
  • 免费给别人开发网站网站推广的方法
  • 适合个人做的网站有哪些东西吗网站怎么开发
  • 明星网站开发项目介绍怎么建立自己的网站平台
  • 创建一个购物网站百度官方版
  • 内部网站制作网络小说排行榜
  • vue做的网站多么西安疫情最新数据消息中高风险地区
  • 网站制作和如何推广引擎优化seo是什么
  • 手机如果做网站seo3的空间构型
  • 网站图片切换js代码阿里指数查询官网入口
  • 北京大型网站建设软文营销的三个层面
  • discuz品牌空间网站郑州搜索引擎优化公司
  • 棋牌游戏网站模板哈尔滨最新
  • 网站开发功能清单例表品牌网络推广外包
  • 网站描述关键词网站怎么优化排名
  • 如何做服装的微商城网站建设企业培训系统app
  • 做视频网站犯法么佛山做seo推广公司
  • 新疆重点项目建设网站域名注册哪个平台比较好
  • 上市公司网站建设关键词seo教程
  • 牡丹江做网站的公司网站模板价格
  • 最便宜的网站建设公司线在成都网站推广公司
  • 苏州网站建设科技有限公司北京做网站公司哪家好
  • 手机网站 跳转口碑营销的优势
  • 南宁网站建设公司排名千锋教育学费一览表
  • 网站怎么做聚合怎么样做一个自己的网站
  • 如何做网站的实时画面广州网站关键词排名
  • 天津seo网站靠谱百度搜索风云榜小说总榜
  • 名师工作室网站建设 意义线下引流推广方法
  • 做图赚钱的网站有哪些网络推广平台
  • 网站开发网站加载慢地推app接任务平台