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

河北手机网站制作企业网站建设续约合同

河北手机网站制作企业,网站建设续约合同,个人免费发布房源平台,网站搭建免费域名前言 Slf4j SLF4J#xff0c;全称 Simple Logging Facade for Java#xff0c;是一个用于Java编程语言的日志系统抽象层。它为多种现有日志框架#xff08;例如Log4j、java.util.logging等#xff09;提供了统一的接口, 但自身并不实现日志功能。 SLF4J 允许用户在部署时…前言 Slf4j SLF4J全称 Simple Logging Facade for Java是一个用于Java编程语言的日志系统抽象层。它为多种现有日志框架例如Log4j、java.util.logging等提供了统一的接口, 但自身并不实现日志功能。 SLF4J 允许用户在部署时选择适当的日志库即日志框架比如 Logback、Log4j 等。 Logback Logback 是一个实现日志功能的库它由Log4j的创建者设计。Logback被设计成Log4j的一个卓越替代品它具有更好的性能、自动重加载配置文件、更丰富的日志格式以及内置日志归档等特点。 简单来说SLF4J为Java提供了一个统一的日志接口而Logback是一个具体的日志库可以与SLF4J API结合起来使用。 注意其它日志实现如log4j等结合slf4j的时候是需要桥接包而logback是直接实现了slf4j。 Slf4j初始化源码分析 slf4j在代码中初始化一个Logger对象时如下调用LoggerFactory.getLogger()方法 private final Logger logger LoggerFactory.getLogger(this.getClass());查看getLogger方法 public static Logger getLogger(String name) { // logback实现了slf4j的ILoggerFactory接口关键也在于这个地方ILoggerFactory iLoggerFactory getILoggerFactory(); return iLoggerFactory.getLogger(name); }logback针对ILoggerFactory的实现类是ch.qos.logback.classic.LoggerContext。 所以可以直接查看LoggerContext.getLogger()方法。 可以看到最终是调用到这个方法 这个地方不是配方重点这里分析下初始化的时候如何构造LoggerContext实例 ILoggerFactory iLoggerFactory getILoggerFactory(); 通过追踪方法调用可以看到最终调用的是这个bind()方法具体调用的源码细节可以自己点进去看一下代码不多不啰嗦了 private final static void bind() {try {SetURL staticLoggerBinderPathSet null;// 不检查安卓系统的if (!isAndroid()) {// 这里是找到所有org/slf4j/impl/StaticLoggerBinder.class的jar路径staticLoggerBinderPathSet findPossibleStaticLoggerBinderPathSet();// 如果项目有多个日志框架的实现平常启动项目不是会打印一些日志Class path contains multiple SLF4J bindings.等// 就是这这个地方打印的日志实现冲突reportMultipleBindingAmbiguity(staticLoggerBinderPathSet);}// 每个实现slf4j的日志或者桥接包都会有这个org/slf4j/impl/StaticLoggerBinder.class类StaticLoggerBinder.getSingleton();INITIALIZATION_STATE SUCCESSFUL_INITIALIZATION;reportActualBinding(staticLoggerBinderPathSet);} catch (NoClassDefFoundError ncde) {// 下面代码忽略了} catch (java.lang.NoSuchMethodError nsme) {} catch (Exception e) {failedBinding(e);throw new IllegalStateException(Unexpected initialization failure, e);} finally {postBindCleanUp();}}StaticLoggerBinder.getSingleton();这个注释里说了每个实现或者桥接包都有这个类的比如logback 这个地方也是slf4j初始化的精髓没有这个类就抛异常了。 而关于StaticLoggerBinder的初始化也很平常 就是通过静态代码块来初始化logback了。
http://www.zqtcl.cn/news/610660/

相关文章:

  • 中华建设杂志网站记者黑龙江省建设集团有限公司网站首页
  • 成都络迈品牌网站建设网站建设的行业资讯、
  • 英语网站大全免费赤峰市建设厅官方网站
  • 宁波网站建设熊掌号成都网络关键词排名
  • 织梦网站改版需要怎么做平台设计软件
  • 企业展示型网站网站建设设计
  • 增城网站建设服务网站建设制作设计公司佛山
  • 微网站套餐自媒体网站源码模板dede
  • 企业网站改版升级成都便宜网站建设公司
  • 广州公共资源建设工程交易中心网站新塘做网站
  • 数码港 太原网站开发公司iis 建立子网站
  • 做一个自己的网站需要什么商标设计网站猪八戒
  • 傻瓜式网站建设软件保险预约
  • 网站 备案规定自己做简单网站
  • 网站上怎么做支付接口南乐网站建设
  • 咸阳网站建设公司电话做个公司网站大概多少钱
  • 网站如何做关键词排名点子网创意网
  • 浙江建设培训考试网站河源东莞网站建设
  • 网站移动端做pc端的301跳转哪些网站是增值网
  • wordpress新闻站浙江耀华建设集团网站
  • 网站开发代理企业网站推广技巧和方法
  • 俄语网站开发用模板做的网站多少钱
  • 丽水网站建设公司广州网络公司
  • 做基金的网站哪个好针对大学生推广引流
  • 国外对旅游网站的建设互联网推广和互联网营销
  • 海南省建设厅网站首页有什么做设计的兼职网站
  • 网站导航功能苏州市高新区建设局网站
  • jsp网站 值班多语种网站开发
  • 公司网站英文做电商
  • 合肥企业网站建设公司哪家好卖产品怎么做网站