Apache Commons Logging的运行时发现算法有什么问题

Apache Commons Logging的运行时发现算法有什么问题,第1张

Apache Commons Logging的运行时发现算法有什么问题

为什么?它的运行时发现算法有什么问题?性能?

不,不是性能,而是类加载器的痛苦。JCL发现过程依赖于类装入器黑客在运行时查找日志记录框架,但是这种机制会导致许多问题,包括意外行为,难以调试的类装入问题,从而导致复杂性增加。Ceki(Log4J,SLF4J和Logback的作者)在采用commons-
logging
API

(还提到了使用JCL观察到的内存泄漏问题)之前,再次在Think中捕获了这一点。

这就是创建使用静态绑定的SLF4J的原因。

Ceki是SLF4J的作者,您可能会认为他的文章有偏见,但相信我,他们没有这样做,他正在提供大量参考文献(证据)来证明他的观点。

总结一下:

  • 是的,已知JCL已损坏,最好远离它。
  • 如果要使用日志记录外观(并非所有项目都需要),请使用SLF4J。
  • SLF4J为仍使用JCL的框架(如Spring :)提供了JCL到SLF4J的桥梁。
  • 我发现Logback是Log4J的继任者Logback,它是一种出色的日志记录实现。
  • Logback本机实现SLF4J API。这意味着,如果您使用的是Logback,则实际上是在使用SLF4J API。
也可以看看
  • Commons Logging是我的错
  • 在采用commons-logging API之前要三思
  • SLF4J VS JCL /动态绑定VS静态绑定


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5350502.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-09
下一篇 2022-12-09

发表评论

登录后才能评论

评论列表(0条)

保存