slf4j 是如何成为外观的?

Age*_*ntX 7 logging facade slf4j

我试图了解 slf4j 的细节。我仍然不清楚如何将 slf4j 视为 Logging 门面?

门面的目的通常是 -

为子系统中的一组接口提供统一的接口。Facade 定义了一个更高级别的接口,使子系统更易于使用。

在 slf4j 的情况下,它提供了一个通用Logger接口,但每个绑定项目(如log4j, logback等)都需要提供它们的具体实现。

所以我理解如何adapter pattern适应,但我仍然无法理解如何Facade Pattern使用。

Raf*_*ele 7

它不是语言级别的 fa\xc3\xa7ade ,而是应用程序级别的 fa\xc3\xa7ade。当您编写应用程序(或者更重要的是,编写库!)时,您必须以某种方式记录语句。如果您将代码绑定到特定的日志实现(log4j、logback),则很难将其集成到使用另一个日志实现的另一段代码中,因为您必须配置两次并且可能无法共享相同的输出设备。

\n\n

这对于图书馆作者来说尤其重要。因此 slf4j 开始发挥作用:您登录到 slf4j,然后让库的用户通过适当的绑定和绑定配置提供实际的日志记录机制。

\n