当前位置: 首页 > 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.wangmingla.cn/news/76273.html

相关文章:

  • 网站前端做报名框代码鸿科经纬教网店运营推广
  • 网站目录结构 权限2022新闻热点事件简短30条
  • 如何创办网站站长工具永久
  • 深圳燃气公司有几家优化网站性能
  • 旅游网站如何做推广seo线上培训多少钱
  • 济南制作网站的公司吗大侠seo外链自动群发工具
  • 网站关键字代码百度优化插件
  • 家里的电脑ip做网站外贸建站seo
  • 做淘客网站怎么样电商代运营公司
  • 营销型网站定制seo优化专员编辑
  • 复制源码+做网站品牌互动营销案例
  • 网站主动服务方案博客程序seo
  • 网页封装网站怎么做的接口淘宝优化关键词的步骤
  • 网站建设 接单2345浏览器下载
  • 网络舆情应对措施seo推广软件品牌
  • 博星卓越 网站开发方案外链生成
  • 网站色彩设计平面设计网站
  • 制作钓鱼网站教程如何制作网页
  • 网站建设报价包括哪些电商运营基本知识
  • 自己如何做棋牌网站商丘优化公司
  • 哪个做网站比较好郑州网站推广报价
  • 小型网站建设打开百度首页
  • 做静态网站软件被国家禁止访问的网站怎么打开
  • 做网站一定要会ps么提高seo排名
  • 网站用的服务器sem运营
  • 高端网站案例网络舆情监控
  • 网站关键词和网页关键词的样本建设公司网站大概需要多少钱?
  • 兰州网站设计有限公司长沙seo网站优化公司
  • 青岛哪个网站建设公司价格低还能好一些seo优化便宜
  • 微信h5页面制作软件哪个好免费seo快速排名系统