Logging log4j-to-slf4j和log4j-over-slf4j之间的差异

Logging log4j-to-slf4j和log4j-over-slf4j之间的差异,logging,log4j,adapter,slf4j,bridge,Logging,Log4j,Adapter,Slf4j,Bridge,我不太明白log4j-to-slf4j.jar和log4j-over-slf4j.jar之间的区别。从我在网上看到的 log4j-to-slf4j.jar:() “Log4j 2到SLF4J适配器允许将应用程序编码到Log4j 2 要路由到SLF4J的API。使用此适配器可能会导致某些数据丢失 必须先格式化Log4j 2消息的性能,然后才能 通过Log4j 2作为实现,这些 通常,只有当筛选器或 阿佩德。” log4j-over-slf4j.jar() “它允许log4j 用户可以将现有应用程序

我不太明白log4j-to-slf4j.jar和log4j-over-slf4j.jar之间的区别。从我在网上看到的

log4j-to-slf4j.jar:()

“Log4j 2到SLF4J适配器允许将应用程序编码到Log4j 2 要路由到SLF4J的API。使用此适配器可能会导致某些数据丢失 必须先格式化Log4j 2消息的性能,然后才能 通过Log4j 2作为实现,这些 通常,只有当筛选器或 阿佩德。”

log4j-over-slf4j.jar()

“它允许log4j 用户可以将现有应用程序迁移到SLF4J,而无需更改 一行代码,但只需替换log4j.jar文件 使用log4j-over-slf4j.jar,如下所述 模块包含最广泛使用的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 班级。”

据我所知,两者都解决同一个问题。但到底有什么区别呢?桥与适配器


非常感谢

如果我错了,请纠正我-我将尝试回答我的问题

我刚刚在mvnrepository.org上看了一眼——2.x版下没有log4j-to-slf4j.jar,从我上面粘贴的链接可以看出,这是log4j-2.x的适配器,而不是1.x。它也由Apache基金会提供。 相反,log4j-over-slf4j.jar记录在slf4j.org上,并将log4j-1.x记录重定向到slf4j api


所以我想我把苹果和梨混合了

我想你明白了。最大的区别是log4j有两个版本
log4j-over-slf4j
通过向slf4j发送消息(slf4j随后将其转发到您用于日志记录的任何框架),帮助将遗留代码迁移到新的日志框架
log4j-to-slf4j
有点类似,但不是专门为遗留项目迁移而设计的(我想仍然可以用于此),别忘了:如果GAV标识符中有“logging”,那么log4j2.X就是log4j2.X。让我更容易分辨