如何使用 Log4j2 登录 BEAM workers?

问题描述 投票:0回答:0

我正在尝试在 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 版本?

log4j apache-beam log4j2 slf4j
© www.soinside.com 2019 - 2024. All rights reserved.