slf4j如何绑定到日志记录框架

AgentX

当我偶然发现类中方法时,我正在通过slf4j代码来了解绑定过程bind()LoggerFactory

感兴趣的行的代码片段:

        if (!isAndroid()) {
            staticLoggerBinderPathSet = findPossibleStaticLoggerBinderPathSet();
            reportMultipleBindingAmbiguity(staticLoggerBinderPathSet);
        }
        // the next line does the binding
        StaticLoggerBinder.getSingleton();
        INITIALIZATION_STATE = SUCCESSFUL_INITIALIZATION;
        reportActualBinding(staticLoggerBinderPathSet);
        replayEvents();

该方法findPossibleStaticLoggerBinderPathSet()是这样的:

private static String STATIC_LOGGER_BINDER_PATH = "org/slf4j/impl/StaticLoggerBinder.class";
try {
        ClassLoader loggerFactoryClassLoader = LoggerFactory.class.getClassLoader();
        Enumeration<URL> paths;
        if (loggerFactoryClassLoader == null) {
            paths = ClassLoader.getSystemResources(STATIC_LOGGER_BINDER_PATH);
        } else {
            paths = loggerFactoryClassLoader.getResources(STATIC_LOGGER_BINDER_PATH);
        }

由于默认slf4j-api包为类提供了StaticLoggerBinder一些默认名称,并且取决于绑定项目提供的实际实现(log4j,logback等)。

它实际上如何识别StaticLoggerBinder要使用的类?

用户名

好吧,StaticLoggerBinder位于的源中slf4j-api,但是已将其删除,因此不会最终出现在jar中。如果下载JAR,您会发现它不存在。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用SLF4J并独立于日志记录框架动态更改日志文件位置

来自分类Dev

如何将SLF4J日志记录与Spring 4集成?

来自分类Dev

如何排除多个SLF4J绑定到LOG4J

来自分类Dev

使用slf4j和任何其他日志记录框架进行日志记录(log4j / java.util.logging)

来自分类Dev

没有jcl-over-slf4j的Spring + Logback(slf4j)日志记录

来自分类Dev

没有jcl-over-slf4j的Spring + Logback(slf4j)日志记录

来自分类Dev

使用SLF4j + log4j代替SLF4J + logback进行Jclouds日志记录

来自分类Dev

如何使用SLF4J和Log4j2记录致命(或任何自定义日志级别)

来自分类Dev

如何使用SLF4J将日志写入文件

来自分类Dev

如何使用slf4j将日志写入文件

来自分类Dev

如何在第三方库中找出哪个后端用于slf4j日志记录?

来自分类Dev

如何在Gradle项目中使用slf4j在IntelliJ中获取日志记录输出?

来自分类Dev

如何在Gradle项目中使用slf4j在IntelliJ中获取日志记录输出?

来自分类Dev

slf4j的绑定错误

来自分类Dev

slf4j的绑定错误

来自分类Dev

SLF4J 多重绑定

来自分类Dev

SLF4J记录问题

来自分类Dev

Groovy Slf4j批注似乎干扰了Grails内置日志记录

来自分类Dev

Slf4j或Logback:关闭1个单元测试(或1个线程)的日志记录

来自分类Dev

我可以关闭SLF4J SimpleLogger中的日志记录吗?

来自分类Dev

无法使用SLF4J禁用石英计划程序日志记录

来自分类Dev

Spring Integration日志记录错误通道(slf4j + logback)

来自分类Dev

slf4j / logback-禁用控制台日志记录

来自分类Dev

Groovy & Spock - 使用@Slf4j AST 标签,检测日志记录活动

来自分类Dev

slf4j未能绑定记录器,尽管在类路径上存在logback

来自分类Dev

slf4j未能绑定记录器,尽管在类路径上存在logback

来自分类Dev

将SLF4J日志重定向到JavaFX中的TextArea

来自分类Dev

Azure功能:使用Log4j2配置Slf4j绑定并将日志发送到appinsights

来自分类Dev

Maven SLF4J:类路径包含多个SLF4J绑定

Related 相关文章

  1. 1

    使用SLF4J并独立于日志记录框架动态更改日志文件位置

  2. 2

    如何将SLF4J日志记录与Spring 4集成?

  3. 3

    如何排除多个SLF4J绑定到LOG4J

  4. 4

    使用slf4j和任何其他日志记录框架进行日志记录(log4j / java.util.logging)

  5. 5

    没有jcl-over-slf4j的Spring + Logback(slf4j)日志记录

  6. 6

    没有jcl-over-slf4j的Spring + Logback(slf4j)日志记录

  7. 7

    使用SLF4j + log4j代替SLF4J + logback进行Jclouds日志记录

  8. 8

    如何使用SLF4J和Log4j2记录致命(或任何自定义日志级别)

  9. 9

    如何使用SLF4J将日志写入文件

  10. 10

    如何使用slf4j将日志写入文件

  11. 11

    如何在第三方库中找出哪个后端用于slf4j日志记录?

  12. 12

    如何在Gradle项目中使用slf4j在IntelliJ中获取日志记录输出?

  13. 13

    如何在Gradle项目中使用slf4j在IntelliJ中获取日志记录输出?

  14. 14

    slf4j的绑定错误

  15. 15

    slf4j的绑定错误

  16. 16

    SLF4J 多重绑定

  17. 17

    SLF4J记录问题

  18. 18

    Groovy Slf4j批注似乎干扰了Grails内置日志记录

  19. 19

    Slf4j或Logback:关闭1个单元测试(或1个线程)的日志记录

  20. 20

    我可以关闭SLF4J SimpleLogger中的日志记录吗?

  21. 21

    无法使用SLF4J禁用石英计划程序日志记录

  22. 22

    Spring Integration日志记录错误通道(slf4j + logback)

  23. 23

    slf4j / logback-禁用控制台日志记录

  24. 24

    Groovy & Spock - 使用@Slf4j AST 标签,检测日志记录活动

  25. 25

    slf4j未能绑定记录器,尽管在类路径上存在logback

  26. 26

    slf4j未能绑定记录器,尽管在类路径上存在logback

  27. 27

    将SLF4J日志重定向到JavaFX中的TextArea

  28. 28

    Azure功能:使用Log4j2配置Slf4j绑定并将日志发送到appinsights

  29. 29

    Maven SLF4J:类路径包含多个SLF4J绑定

热门标签

归档