我的小测试网络应用程序需要一些日志记录。我在 log4j 和 java.util.logging 方面没有真正的经验,我在想我是否应该立即开始使用日志外观 (slf4j)。
我正在阅读日志外观应该用于共享的库(框架),这是有道理的。但是,如果一个特定的应用程序我不知道该去哪里。由于性能原因,直接使用 log4j(或 logback)会更好吗?或者我应该立即从 slf4j 开始,因为我不认识其他人吗?
谢谢
Log4j、Java Logging 是日志框架(一)
SLF4J,Commons-Logging 是日志门面框架(B)
即使您使用了上面列表 (B) 中的任何内容,您仍然需要为其提供一个底层的实际记录器实现(来自列表 A 的内容)以使其正常工作。
因此,如果您正在做一个库,您将发送给某人(并且您不知道他们将从列表 A 中使用哪些框架)那么您应该在列表 B 中选择一些东西(SLF4J 是理想的)
如果您正在做一个独立的应用程序,那么很可能 log4j(来自列表 A)应该可以解决您的目的。
对于独立应用程序,我将从Jakarta Commons Logging和 log4j 开始。
我不推荐 java.util.logging,因为发现配置错误是一场噩梦。最佳选择是:
更新:这个最近的博客条目可以帮助您选择体面/最近/可用的日志前端和后端
SLF4J 是作为对 log4j 的改进而创建的,解决的问题包括性能以及我认为最有益的在部署时插入日志框架的能力。
我建议您从第一个 log4j 开始,它非常简单,也将使您更容易理解 SJF4J。