从我在示例spring pom.xml文件中看到的是,它们为slf4j和log4j添加了一些条目,并且不知何故,当您在spring应用程序中使用log4j时,它将被slf4j库包装起来。
有人能给我解释一下这是怎么神奇发生的吗?
发布于 2011-12-30 00:09:38
slf4j
是一个日志记录应用程序接口,它不做任何事情,只是一堆接口。log4j
是一个日志系统,有具体的类。有一个slf4j-log4j
库,它使用log4j作为slf4j API的后端。
一些项目明确地依赖于log4j,它们调用具体的类。因此,你不能为你的项目使用另一个后端(例如logback或j.u.l或apache commons或其他任何东西),因为你只使用了slf4j应用编程接口。
有一个模拟实现(桥)替换log4j类的a trick,它只是简单地将所有调用重定向到sl4j。在maven中,您只需声明一个具有非常高版本号的依赖项,这个模拟被认为是超现代的log4j库。
https://stackoverflow.com/questions/8670069
复制相似问题