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

湘潭交通网站游戏网站建设多少

湘潭交通网站,游戏网站建设多少,设计说明生成器,wordpress的留言功能前言 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.hkea.cn/news/14583492/

相关文章:

  • 徐州新站百度快照优化电商创客网站建设方案
  • 华为公司网站建设方案网站外包 博客
  • 响应式网站开发源码爱链网买链接
  • 有口碑的郑州网站建设注册安全工程师需要什么条件
  • wordpress制作图片站wordpress模板如何安装教程
  • 做项目网站百度无广告搜索引擎
  • 四川省建设厅职业注册中心网站团购网站建站
  • 如何创建个人网站免费用户体验网站
  • 是网站推广的案例网络推广产品
  • 网站建设属于哪类工作网站设计前期沟通单
  • 句容网站百度商城
  • 上海商务网站建设wordpress手机登录代码
  • 关闭未备案网站杭州洛可可设计公司
  • 有哪些网站做的比较好看的图片大冶市建设局网站
  • 天津住房和城乡建设厅网站常见的cms系统
  • 南阳网站优化哪家好黄山市旅游攻略
  • 做安全题目是哪个网站网站开辟两学一做专栏
  • 安阳哪里做360网站买卖域名挣几十万
  • 郑州艾特软件 网站建设上海市公共招聘网12333
  • 北京企业网站开发网站建设设计原则
  • 网站 美化谷歌google浏览器
  • 无锡网页网站制作公司可信网站认证 技术支持单位
  • 备案网站建设方案模板网页美工设计实践性教案
  • 网站建设及推广文案聊城专业网站建设
  • ai网站wordpress 头部引入js
  • 旅游公司网站开发与实现wordpress加载
  • 北京做招聘网站的公司常州新北建设局网站
  • 网站建设 完成山东济南网站建设公司
  • 百度搜索推广和信息流推广网站视觉优化的意义
  • 计算机多媒体辅助教学网站开发室内设计好不好学