java - 如何解耦日志实现和API?

标签 java logging

我正在创建一个小型 Java 框架,它将记录其事件。我不希望框架依赖于任何特定的日志记录实现( julcommons logginglog4jslf4jlogback 等)。相反,我想让我的客户选择他们喜欢的任何东西。

问题是——我应该如何实现这种解耦?我的框架应如何记录其事件?

最佳答案

slf4j 旨在解决这个问题:它将 API 与日志实现分离。

slf4j 本身并不是一个日志记录实现。这取决于后端实现的存在。 Logback 恰好在 native 实现 slf4j API,但有 log4j、java.util.Logging 和其他的绑定(bind)。

在某种程度上,您必须有一个 API 供您的客户使用。您不妨将其作为现有 API 之一,而不是编写您自己的 API。

关于java - 如何解耦日志实现和API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4628762/

相关文章:

java - 生成笛卡尔积java

performance - ChromeDriver - 网络性能日志记录 : Understanding timing section of Network. 响应已接收

java - log.info 使用 log.isInfoEnabled

java - 使用回退的 Resilience4j 断路器

java - 从 OS X 上的 Java 应用程序中的自定义 URI 方案访问参数

java - Log4J文件不打印日志数据

java - 这个日志语句有什么问题?

php - php-我应该在最终用户网站上使用的错误报告级别是完整的

java - 重命名 openconnection() 还是剪掉它?

java - Esper针对不同用户的规则