Spring cloud eureka服务器可以使用log4j-over-slf4j吗?

Spring cloud eureka服务器可以使用log4j-over-slf4j吗?,spring-cloud,Spring Cloud,Eureka服务器与log4j绑定,不能与logback一起工作,因此与普通的Spring引导应用程序相比,必须调整依赖项配置。spring cloud starter eureka服务器可以为您完成这项工作,但是如果您通过另一个依赖项临时添加了logback,则需要手动将其排除在外,例如在Maven中 当应用程序调用网桥中不存在的log4j组件时,log4j-over-slf4j模块将不工作。例如,当应用程序代码直接引用log4j附加器、过滤器或PropertyConfigurator时,l

Eureka服务器与log4j绑定,不能与logback一起工作,因此与普通的Spring引导应用程序相比,必须调整依赖项配置。spring cloud starter eureka服务器可以为您完成这项工作,但是如果您通过另一个依赖项临时添加了logback,则需要手动将其排除在外,例如在Maven中

当应用程序调用网桥中不存在的log4j组件时,log4j-over-slf4j模块将不工作。例如,当应用程序代码直接引用log4j附加器、过滤器或PropertyConfigurator时,log4j-over-slf4j不足以替代log4j


这就是eureka服务器正在做的事情,也是阻止我们使用log4j-over-slf4j的原因吗?

在正常情况下,日志框架包括一个抽象层和一个实现,如
slf4j api
slf4j simple
logback
也是slf4j的一个实现。当我们使用记录器时,我们使用抽象层中的接口来进行日志记录。它将找到实现库本身

log4j-over-slf4j
意味着我们使用
log4j
中的接口,但使用slf4j实现进行实际的日志记录。如果使用logbak作为实际的日志实现,它将使用slf4j的日志属性,即
logbak.xml

“Eureka服务器绑定到log4j”意味着我们使用log4j接口,但是spring boot添加了
log4j-over-slf4j
logback
来使用slf4j日志框架


log4j-over-slf4j
当应用程序调用网桥中不存在的log4j组件时,模块将不工作”意味着您不应在代码中使用log4j实现库中的类。否则,您不能使用log4j-over-slf4j来使用slf4j实现。

我们需要更新文档,eureka不再使用log4j,而是现在使用logback。