使用Direct Runner在本地运行Apache Beam管道时,日志级别似乎设置为DEBUG
。
是否可以将日志设置为改为说INFO
?
注意:--workerLogLevelOverrides
可在使用Cloud Dataflow Runner时使用,但似乎不适用于Direct Runner
答案 0 :(得分:2)
看来,按照标准配置,使用slf4j
(JUL
)后端通过java.util.logging
完成记录。您可以在pom.xml中检入slf4j-api
,该后端与slf4j
和slf4j-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日志输出中涉及的所有组件。