使用 SLF4J 和 Google 数据流记录行号

Logging linenumbers with SLF4J and Google Dataflow

当 运行 Apache Beam Google 数据流作业和使用 SLF4J 记录器时,除了 Stack Driver 中的日志消息之外,我们没有得到任何信息。 附加信息的示例包括函数、行号等。

是否可以像 log4j.xml 或 java 日志属性文件那样配置记录器?

除此 logging pipelines messages

中显示的内容外,无法自定义 Dataflow 中的日志消息

您是否看过 Cloud Logging? It has several features such as Custom logs / Ingestion API. In case you haven't, take a look at this guide to setup the SLF4J logging facade through Logback appender and Cloud Logging. Once you have configured Logback to use the Cloud Logging, you can use the SLF4J logging API. Another option is to use the Cloud Logging API with a default Java Logging API handler, which can be added programmatically or by using a configuration file, here is an example 使用记录器。

Isaac Miliani,我尝试了 google 云日志中提供的相同选项 google 云文档,

  1. 已将 logback.xml 添加到 src/main/resources(class 路径)。
  2. 创建了 loggingeventenhancer 和 enhancer class 以添加新标签。
  3. 为记录器错误添加了标记,以查找 Stackdriver 中的错误类型。
  4. 但是 stackdriver 中的日志没有通过日志附加程序添加新标签。我认为 Maven 编译命令找不到 logback.xml 以在数据流中部署作业。

你能说说这是怎么回事吗?