新项目是否应该使用 logback 而不是 log4j 作为日志框架?
或者换句话说:“logback 比 log4j 更好吗(将 SLF4J - logback 的“功能”放在一边)?”
您应该使用 SLF4J+Logback 进行日志记录。
它提供了一些简洁的功能,例如参数化消息和(与公共日志记录相比)映射诊断上下文(MDC、javadoc http://slf4j.org/apidocs/org/slf4j/MDC.html, 文档 http://logback.qos.ch/manual/mdc.html).
使用 SLF4J 使日志记录后端可以以一种非常优雅的方式进行交换。
此外,SLF4J支持桥接 http://slf4j.org/legacy.html将其他日志记录框架与您将使用的实际 SLF4J 实现相结合,因此来自第三方软件的日志记录事件将显示在您的统一日志中 - java.util.logging 除外,它无法像其他日志记录那样桥接框架是。
桥接 jul 的解释见javadocs http://slf4j.org/api/org/slf4j/bridge/SLF4JBridgeHandler.htmlSLF4JBridgeHandler 的。
我在几个项目中使用 SLF4J+Logback 组合获得了非常好的体验,而 LOG4J 的开发几乎陷入停滞。
SLF4J 还存在以下缺点:
- 它不支持可变参数以与 Java
- 它不支持同时使用参数化消息和异常。
- 它不包含对嵌套诊断上下文(NDC、javadoc http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/NDC.html) LOG4J 有。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)