Hello! 欢迎来到小浪资源网!


引入Sentinel后出现多重SLF4J绑定问题如何解决?


引入Sentinel后出现多重SLF4J绑定问题如何解决?

引入 sentinel 导致多重 slf4j 绑定问题

引入 sentinel 库可能会导致“多重 slf4j 绑定”错误。即使排除了 slf4j 的依赖关系,错误可能仍然存在。

这种现象是由 sentinel 库中同时存在 ch.qos.logback和 org.slf4j 版本所引起的。当项目中已经存在其他slf4j绑定(例如logback-classic)时,就会导致冲突。

此问题可以通过强制排除logback dependencies来解决。以下示例显示如何对 spring boot 应用程序执行此操作:

<dependency>   <groupId>com.alibaba.cloud</groupId>   <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>   <version>2.2.9.RELEASE</version>   <exclusions>     <exclusion>       <groupId>ch.qos.logback</groupId>       <artifactId>logback-classic</artifactId>     </exclusion>   </exclusions> </dependency>

上述排除项将强制 maven 在 sentinel 依赖项的范围内排除 logback-classic 依赖项。通过这样做,可以防止出现“多重 slf4j 绑定”错误,让 sentinel 库可以正常工作。

相关阅读