【发布时间】:2020-07-13 07:40:19
【问题描述】:
我真的不明白 log4j-to-slf4j.jar 和 log4j-over-slf4j.jar 之间的区别。根据我在网上看到的内容
log4j-to-slf4j.jar: (https://logging.apache.org/log4j/2.x/log4j-to-slf4j/index.html)
“Log4j 2 到 SLF4J 适配器允许应用程序编码到 Log4j 2 要路由到 SLF4J 的 API。使用此适配器可能会造成一些损失 性能作为 Log4j 2 消息必须先格式化,然后才能使用 传递给 SLF4J。使用 Log4j 2 作为实现,这些将 通常只有当它们被过滤器访问时才被格式化,或者 追加器。”
log4j-over-slf4j.jar (http://www.slf4j.org/legacy.html)
"它允许 log4j 用户将现有应用程序迁移到 SLF4J 而无需更改 单行代码,但只需替换 log4j.jar 文件 使用 log4j-over-slf4j.jar,如下所述。 log4j-over-slf4j 模块包含最广泛使用的 log4j 类的替换,即 org.apache.log4j.Category, org.apache.log4j.Logger, org.apache.log4j.Priority, org.apache.log4j.Level, org.apache.log4j.MDC 和 org.apache.log4j.BasicConfigurator。这些 替换类将所有工作重定向到它们对应的 SLF4J 类。”
据我了解,两者都解决了相同的问题。但具体的区别在哪里?桥接器与适配器?
非常感谢!
【问题讨论】:
标签: logging log4j adapter slf4j bridge