您应该使用SLF4J + Logback进行日志记录。
它提供了整齐的功能,例如参数化消息和(与commons-logging相比)Mapped Diagnostic Context(MDC,javadoc,documentation)。
使用SLF4J可以使日志记录后端以一种非常优雅的方式互换。
此外,SLF4J支持将其他日志记录框架桥接到您将要使用的实际SLF4J实现,因此来自第三方软件的日志记录事件将显示在您的统一日志中-java.util.logging不能桥接与其他日志记录框架相同。
SLF4JBridgeHandler的javadocs中解释了桥接jul 。
我在多个项目中使用SLF4J + Logback组合具有非常好的经验,并且LOG4J的开发已经停滞了。
SLF4J还有以下缺点:
- 它不支持varargs以与Java <1.5兼容
- 它不支持同时使用参数化消息和异常。
- 它不包含对LOG4J具有的嵌套诊断上下文(NDC,javadoc)的支持。



