我正在尝试在 BEAM 管道中将 Log4j2 日志记录实现与 Slf4j api 一起使用。在 Maven 中它看起来像这样:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.20.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j2-impl</artifactId>
<version>2.20.0</version>
</dependency>
在本地运行良好。日志记录也适用于我启动管道的容器。但是,在工作人员内部,此设置会导致一些问题:
Caused by: org.apache.logging.log4j.LoggingException: log4j-slf4j2-impl cannot be present with log4j-to-slf4j
这个附加库
log4j-to-slf4j
不是我项目的一部分,也没有列在依赖项中(也不在传递依赖项中)。看起来是BEAM sdk自己加的。问题是:如何配置 BEAM 以使用我的 Log4j 版本?