如何找到slf4j绑定到哪个库?

psy*_*ron 43 java logging log4j slf4j

我正在使用slf4j登录我的应用程序.我得到了slf4j的目的.我想知道如何找出当前绑定到哪个日志库slf4j.我在引用的库中有log4j.我假设slf4j已经绑定到log4j.

我想知道的是,有没有办法明确确认这种绑定?

Tom*_*icz 53

只要做SLF4J发现的绑定:

final StaticLoggerBinder binder = StaticLoggerBinder.getSingleton();
Run Code Online (Sandbox Code Playgroud)

现在您可以尝试在我的案例中找出实际的实现:

System.out.println(binder.getLoggerFactory());
System.out.println(binder.getLoggerFactoryClassStr());
Run Code Online (Sandbox Code Playgroud)

这打印:

ch.qos.logback.classic.LoggerContext[default]
ch.qos.logback.classic.selector.DefaultContextSelector
Run Code Online (Sandbox Code Playgroud)

  • `StaticLoggerBinder` 不是 `slf4j-api` 的一部分,所以这个方法不起作用。 (3认同)

lee*_*777 8

StaticLoggerBindergetLoggerFactoryClassStr()方法可能是你在找什么.