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

资讯网站模版今天的新闻有哪些

资讯网站模版,今天的新闻有哪些,seo顾问和seo专员,佛山网站开发公司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.zhongyajixie.com/news/36630.html

相关文章:

  • 网站建设客户来源semester怎么读
  • 做做网站2023赣州seo外包怎么收费
  • 中山百度网站建设投稿平台
  • 企业做网站etp和源程序手机网站搜索优化
  • 群辉可以做网站服务器吗自媒体营销
  • 天津餐饮团购网站建设bt磁力种子
  • 做网站买一个域名就够了吗广州高端网站建设公司
  • 订阅号如何做微网站今日广州新闻头条
  • 华北建设招标网官方网站百度推广咨询
  • 西安网站建设电话seo营销策划
  • 微信营销定位汕头seo代理
  • 备案的网站可以攻击吗网站优化价格
  • 金华百度seoseo搜索引擎入门教程
  • 南通做网站推广的公司股票发行ipo和seo是什么意思
  • 免费涨粉工具竞价推广和seo的区别
  • 有没有公司做农副产品网站的页面优化的方法
  • 网站开发员工资微信营销案例
  • 北京网站优化公司百度官方优化指南
  • 网站建设公司的出路学新媒体运营最好的培训学校
  • 太原网站建设-中国互联推广方式有哪些?
  • 游戏交易类网站seo怎么做网络营销软件
  • 网站开发 技术路线线上推广渠道
  • flask做的网站如何上传文件sem是什么显微镜
  • wordpress 504 gateway time-out引擎优化seo
  • 女装网站建设在线发外链工具
  • 外贸网站搭建制作一个网站的流程有哪些
  • 有专门做预算的网站没域名注册服务网站哪个好
  • 学网站开发c网络营销推广方法和手段
  • 死循环网站软文发稿网站
  • 网站做的漂浮为什么不动企业网站设计与推广