【问题标题】:How to set log level for apache beam pipeline running on Direct Runner如何为在 Direct Runner 上运行的 apache 光束管道设置日志级别
【发布时间】:2018-12-04 13:46:27
【问题描述】:

当使用 Direct Runner 在本地运行 Apache Beam 管道时,日志级别似乎设置为 DEBUG

有没有办法将日志设置为INFO

注意:--workerLogLevelOverrides 在使用 Cloud Dataflow Runner 时可以使用,但似乎不适用于 Direct Runner

【问题讨论】:

    标签: google-cloud-dataflow apache-beam


    【解决方案1】:

    看来,根据标准配置,日志记录是通过 slf4j 使用 JUL(java.util.logging) 后端完成的。您可以在 pom.xml 中检查 slf4j-api,它对应于 slf4jslf4j-jdk14 的后端。

    您需要在运行时配置 JUL。一种方法是作为参数传递给 VM,例如

    -Djava.util.logging.config.file=logging.properties

    然后在运行应用程序的目录中创建logging.properties。在我的情况下,它是应用程序的根目录(包含src 目录的目录)。如果它似乎不起作用,您可以指定一个绝对路径作为文件名。

    关于配置,这里有一个例子:

    handlers=java.util.logging.ConsoleHandler
    .level=INFO
    java.util.logging.ConsoleHandler.level=ALL
    org.apache.beam.sdk.io.gcp.pubsub.PubsubUnboundedSource.level=ALL
    

    这将设置包org.apache.beam.sdk.io.gcp.pubsub.PubsubUnboundedSource 的级别。根据情况,您可以使用它的配置。确保将级别正确设置为 JUL 日志输出中涉及的所有组件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-10-15
      • 2015-06-04
      • 2020-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-02
      相关资源
      最近更新 更多