简化SLF4J和通用日志东西的差异-Java-优质IT资源分享社区

admin
管理员
管理员
  • UID1
  • 粉丝29
  • 关注4
  • 发帖数581
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:202回复:0

  简化SLF4J和通用日志东西的差异

楼主#
更多 发布于:2016-05-21 23:08

简化SLF4J和通用日志东西的差异

这即是为何如今每个人都用SLF4J的因素:)

下面是怎么追寻和更新你的SLF4J日志:

首要,查询slf4j绑定的类途径。

然后,保证只有一个这么的绑定。

最终,当你找到正在被运用的绑定:查阅它的装备特性。

另一方面-下面是怎么追寻通用日志:

首要,你得找到日志绑定是怎么完成。

查看commons-logging.properties

里的org.apache.commons.logging.log的特点是否设置,或经过运用里的Commons Logging API设置。

假如没有设置,查看途径下的log4j,假如有JDKLogger(IDK1.4+),或最终,假如简略logger已被运用(当没有别的可用logger时,common

logging会运用默许logger)。

然后,查阅logging装备里的装备特性。

编译时绑定和运转时绑定

当我首次阅览对于编译时绑守时,感觉很含糊:一个java库怎么能用不一样的依托编译时绑定的结构来记载日志?答案是“编译时”绑定只适用于这么的状况-对SLF4J

logger的完成时,SLF4J“被编译”。但是,你仍能够在运转时运用不一样的绑定。

SLF4J不运用类加载器,而是,很简略:它加载org.slf4j.impl.StaticLoggerBinder。每一个SLF4J的完成(例如slf4j-log4j

绑定)供给一个有切当名称的类。所以这儿没有疑问,在运转时,一样的状况发生了:类被从类途径里直接取出,没有任何戏法运转。假如在类路劲下没有slf4j完成办法会如何?

如何…然后会没有任何日志。

有时候戏法运转极好。别的时候,很烦人

仅有你能够决议的办法是:在这个状况后,假如你运用中可用的戏法运转是值得的。所以我任何common-logging是个很重要的尝试:它标明,依托清晰的绑定,能够用很多不一样的办法完成,在java社区不能极好地作业。

从杂乱的commons-logging

API汲取的经历,现已给SLF4J供给了更简略、更清晰和相同动态的办法。

是什么使SLF4J这么好?老实说,可能是现代的java开发者在依托办理上十分有用,由于他们一般

运用maven来办理依托。

因此,SLF4J纯粹的JAR绑定策略超容易完成的(根据现代java依托办理东西)。

大约10年前,在java依托办理问题解决前,commons-logging是一个简略的,迅速而粗糙,同事没有太多装备开支的办法,以保证您的运用程序能够记载动态。

优质IT资源分享社区为你提供此文。

本站有大量优质Java教程视频,资料等资源,包含java基础教程,高级进阶教程等等,教程视频资源涵盖传智播客,极客学院,达内,北大青鸟,猎豹网校等等IT职业培训机构的培训教学视频,价值巨大。欢迎点击下方链接查看。

java教程视频

优质IT资源分享社区(www.itziyuan.top)
一个免费,自由,开放,共享,平等,互助的优质IT资源分享网站。
专注免费分享各大IT培训机构最新培训教学视频,为你的IT学习助力!

!!!回帖受限制请看点击这里!!!
!!!资源失效请在此版块发帖说明!!!

[PS:按 CTRL+D收藏本站网址~]

——“优质IT资源分享社区”管理员专用签名~

本版相似帖子

游客