Ta *_*Sas 43 java logging spring apache-commons-logging
Dave Syer(SpringSource)在他的博客中写道:
不幸的是,关于commons-logging的最糟糕的事情,以及使它不受新工具欢迎的因素,也是运行时发现算法.
为什么?它的运行时发现算法有什么问题?性能?
Pas*_*ent 75
为什么?它的运行时发现算法有什么问题?性能?
不,这不是表现,它是类加载器的痛苦.JCL发现过程依赖于类加载器黑客在运行时查找日志框架,但是这种机制导致许多问题,包括意外行为,难以调试类加载问题导致复杂性增加.在采用commons-logging API之前,Ceki(Log4J,SLF4J和Logback的作者)再次很好地捕获了这一点(它还提到了使用JCL观察到的内存泄漏问题).
这就是为什么创建了使用静态绑定的SLF4J的原因.
Ceki是SLF4J的作者,你可能认为他的文章有偏见,但相信我,他们不是,他提供了很多参考(证据)来证明他的观点.
总结一下:
kro*_*ock 12
Commons logging是一个轻量级日志记录,它位于重量级日志API的顶部,即log4j,java.util.logging或其他受支持的日志记录API.
该发现算法就是通用日志用来确定你用什么记录API在运行时这样就可以直接通过登录其API底层日志记录API调用.这样做的好处是,如果您想创建一个执行日志记录的库,您不希望将库的用户绑定到任何特定的重量级日志记录系统.您的代码的调用者可以通过log4j,java.util.logging等配置日志记录,并且commons日志记录将在运行时转发到该API.
公共采伐的常见抱怨:
在没有任何可察觉的好处的情况下,复杂的类路径层次结构中存在更大的复杂性和不可预测性,这使得公共日志记录的用户变得激动.鉴于这种选择可能会被迫,你不会让用户同情. 有关使用commons-logging的强有力论据,请参阅此文章.
| 归档时间: |
|
| 查看次数: |
10272 次 |
| 最近记录: |