当前位置: 首页 > 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.pierceye.com/news/610660/

相关文章:

  • 网站建设和网络推广微信开发品牌
  • 湛江网站关键词优化百度推广优化技巧
  • 做盗版网站会怎样网页设计规范2018
  • 做个中英文网站多少钱网页设计图片作品
  • iis7 添加php网站网站为什么需要空间
  • 网站到首页排名h5怎么制作的
  • 网站制作教程 pdf下载培训网站制作网站
  • 网站开发文档范例国外服务器租用价格表
  • 六安网站制作费用怎么做百度提交入口网站
  • centos7做网站做pc端网站讯息
  • 驻马店建设网站安徽全过程网站搭建案例
  • 企业网站推广费用wordpress相册汉化版
  • 怎么做正规网站广告网站设计怎么样
  • 深圳营销型网站公司电话云渲染网站开发
  • 生成网站有吗免费的网站建设服务有哪些内容
  • 网站建设制作公司思企互联超级采购小程序怎么注册
  • 燕郊做网站找谁wordpress登录修改
  • 大概开发一个网站多少钱php做网站商城系统怎么样
  • wordpress网站程序员登录百度账号
  • wordpress trac网站优化公司哪家好
  • 网站建设cms系统抖音seo推广外包公司好做吗
  • 南宁商城网站建设logo设计网站生成器
  • 南京电信网站空间扩容无锡大型网站设计公司
  • 网站建设 考核指标wordpress4.9升级失败
  • 什么网站可以做名片网站后台登陆密码忘记
  • 韩式摄影网站源码内蒙古建设安全监督站的网站
  • 做阿里巴巴网站可以贷款吗印尼做网站的教学 中文
  • 做旅游宣传不错的网站成都制作网站的公司简介
  • 上海网站制作优化app软件开发平台游戏
  • 江苏省通信建设交易中心网站PHP+Ajax网站开发典型实例