我已经阅读了有关可用于 Java 的日志记录框架的以下文章:http: //michaelandrews.typepad.com/the_technical_times/2011/04/java-logging-reconsidered.html
作者已经提到将 SLF4J 与 Logback 结合使用。这与直接使用 Logback 有什么不同。如果直接使用 Logback 而不是使用 SLF4J 会不会更好,因为 Logback 是建立在 SLF4J 之上的。
我已经阅读了有关可用于 Java 的日志记录框架的以下文章:http: //michaelandrews.typepad.com/the_technical_times/2011/04/java-logging-reconsidered.html
作者已经提到将 SLF4J 与 Logback 结合使用。这与直接使用 Logback 有什么不同。如果直接使用 Logback 而不是使用 SLF4J 会不会更好,因为 Logback 是建立在 SLF4J 之上的。
SLF4J 为 Logback 增加了零开销,因为它只是由 Logback 实现的接口,没有任何额外的层。
你应该使用 SLF4J 仅仅是因为......
您可以直接访问 Logback 的唯一地方是在应用程序中手动(重新)配置日志记录时。偶尔会出现这种需求,但即使在这种情况下,使用 Logback 也将仅限于单个类甚至方法。
根据经验:库应始终使用日志抽象,而应用程序定义它们正在使用的日志,可选择直接访问它。
SLF4J 几乎没有增加开销,而且 Logback 有一个本地绑定。
如果您 100% 知道将来不需要切换到其他日志记录框架,请使用 logback native。但是 SLF4J 允许您进行一些抽象,您可以在眨眼间切换日志记录后端。
Logback 不是建立在 SLF4J 之上的。SLF4J 是一个日志抽象框架。它本身不做任何日志记录。它只是为日志记录提供统一的接口。