通过SLF4J记录本机VS Logback

The*_*mer 28 java logging logback slf4j

我已经阅读了以下有关Java可用日志框架的文章:http: //michaelandrews.typepad.com/the_technical_times/2011/04/java-logging-reconsidered.html

作者提到使用SLF4J和Logback.这与直接使用Logback有什么不同.如果直接使用Logback而不是使用SLF4J,那会不会更好,因为Logback是在SLF4J之上构建的.

Hux*_*uxi 44

SLF4J为Logback增加了零开销,因为它只是由Logback实现的接口,没有任何附加层.

你应该使用SLF4J只是因为......

  1. 它使您可以在需要时切换回Logback
  2. 它不会花费你任何东西,即使进口量较小;)
  3. 其他人会喜欢你使用SLF4J,并且如果你将代码发布到野外,则讨厌直接使用特定的日志框架.

您唯一可以直接访问Logback的地方是在应用程序中手动配置日志(重新).对此的需求偶尔会出现,但即使在这种情况下,使用Logback也只能使用单个类甚至方法.

根据经验:库应始终使用日志记录抽象,而应用程序定义它们正在使用的日志记录,可以选择直接访问它.

  • 你可能想在{} -placeholder上添加一个注释,因为我认为它们是slf4j中的杀手级设施. (3认同)
  • 但他只是问他是否应该使用SLF4J或Logback而不抽象.两者都支持{}. (3认同)
  • 我的错.我们可以同意Ceki想要使用slf4j吗? (2认同)

Vla*_*sny 5

SLF4J几乎不增加任何开销,Logback具有本机绑定.

如果您100%知道将来不需要切换到其他日志框架,请使用logback native.但SLF4J允许您进行一些抽象,您可以在瞬间切换日志记录后端.

Logback不是建立在SLF4J之上的.SLF4J是一个用于日志记录的抽象框架.它本身不做任何记录.它只是提供统一的日志记录接口.