在Spring Application中使用commons logging和slf4j有什么区别?

时间:2013-09-13 12:35:01

标签: java spring logging slf4j

我从spring文档中读到它需要commons记录对类路径的依赖,并且它是强制性的。或者建议使用slf4j。使用slf4j和commons日志记录有什么区别。我对哪一个使用感到困惑。请建议使用这两者的区别。提前谢谢。

2 个答案:

答案 0 :(得分:2)

Commons Logging和SLF4J正在记录外观:你仍然需要一个真正的日志记录实现(比如log4j) 如果您正在编写将在其他人的系统中使用的库,那么您应该使用日志记录外观,因为您不知道他们将使用哪个日志框架。在这种情况下使用SLF4J(Commons Logging较旧并且有一些类加载器问题)。

如果您控制整个应用程序并可以指定要使用的日志框架,则可以自由选择自己的首选项。我的首选解决方案是(按优先顺序):

的logback log4j的 JDK日志记录(在我看来,这是SUN“未在这里发明”的案例)

答案 1 :(得分:0)

slf4j比公共记录更有效。此外,它充当桥接器 - 您可以更改基础日志记录提供程序,而不是将来的公共日志记录。

这个链接有很好的解释。 http://javarevisited.blogspot.in/2013/08/why-use-sl4j-over-log4j-for-logging-in.html