我正在创建一个小型 Java 框架,它将记录其事件。我不希望框架依赖于任何特定的日志记录实现( jul 、 commons logging 、 log4j 、 slf4j 、 logback 等)。相反,我想让我的客户选择他们喜欢的任何东西。
问题是——我应该如何实现这种解耦?我的框架应如何记录其事件?
最佳答案
slf4j 旨在解决这个问题:它将 API 与日志实现分离。
slf4j 本身并不是一个日志记录实现。这取决于后端实现的存在。 Logback 恰好在 native 实现 slf4j API,但有 log4j、java.util.Logging 和其他的绑定(bind)。
在某种程度上,您必须有一个 API 供您的客户使用。您不妨将其作为现有 API 之一,而不是编写您自己的 API。
关于java - 如何解耦日志实现和API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4628762/