google-cloud-dataflow - 如何为在 Direct Runner 上运行的 apache 光束管道设置日志级别

标签 google-cloud-dataflow apache-beam

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

有没有办法设置日志说INFO反而?

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

最佳答案

似乎按照标准配置,日志记录是通过 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 日志输出中涉及的所有组件正确设置了级别。

关于google-cloud-dataflow - 如何为在 Direct Runner 上运行的 apache 光束管道设置日志级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53614351/

相关文章:

java - 使用 Apache Beam 从 PubSubIO 获取 Pub/Sub 消息的 messageId 字段

google-cloud-platform - 数据流,使用客户提供的加密 key 加载文件

java - Apache 光束 : Kafka consumer restarted over and over again

streaming - Dataflow 流管道中 DoFn 的实例过多

java - 如何使用 Apache Beam 从 RabbitMQ 读取数据

google-cloud-platform - BigQueryIO - 不能将 DynamicDestination 与 CREATE_IF_NEEDED 一起用于无界 PCollection 和 FILE_LOADS

google-cloud-platform - 如何在带有 GCS 源存储桶的数据流中使用 watchfornewfiles?

java - GCP数据流流模板: Not able to customize google provided java based PubSubToBQ template

google-cloud-dataflow - 全局窗口上 Combine.PerKey 的内存使用