当前位置: 首页 > 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.w-s-a.com/news/500259/

相关文章:

  • 建设网站找哪个公司北京知名大公司有哪些
  • 专业彩票网站开发网站流量在哪设置
  • 网站建设对应的岗位榆林做网站公司
  • 网站建设公司怎么算专业js网站分页怎么做
  • 网和网站的区别phpcms和帝国cms哪个好
  • wordpress改网站名字长沙网络营销外包
  • 宝塔怎么做第二个网站网站内容设计遵循的原则有
  • 网站违反了 google 质量指南免费ppt模版网站
  • 郑州网站建设郑州网站建设成都那家网站建设好
  • 温州网站排名优化公司如何招聘软件网站开发人员
  • 成都 网站建设公司哪家好襄阳行业网站建设
  • wordpress 调用时间做网站seo的公司哪家好
  • 手机上网站搭建网站账户系统
  • 西乡网站的建设柳州建站
  • 宁夏网站建设怎么样互联网 网站设计
  • 成都关键词seo推广平台手机端关键词排名优化软件
  • 学做软件的网站卡盟平台
  • 网站构建建设案例展示关于做服饰网站的首页
  • 如何建设网站论坛凡科建站手机版登录
  • 建设银行门户网站惠州公司网站建设价格
  • 用python开发网站网站如何取消验证码
  • 公司做企业网站互联网建网站
  • 建网站需要的费用公司注册后怎么做网站
  • 宣传电脑的网站开发运动网站建设教程
  • 网站建设公司都会有哪些花销做网站公司商丘
  • 网站风格有哪些软件定制和开发
  • 公司网络维护具体做什么河南网站推广优化公司哪家好
  • 中学生制作的网站常平哪里有招计算机网站开发的
  • 原创网站模版苏州响应式网站建设
  • 做海报在哪个网站可以找素材网址申请注册方法