我有一个Beam应用程序,可以使用directrunner在本地成功运行,并向我提供本地控制台中代码中包含的所有日志信息。但是,当我尝试在google cloud数据流环境中运行它时,我只在本地控制台上看到了这些日志信息,但是它们并没有显示在Google Cloud Console上的数据流作业中,也没有在其StackDriver日志记录页面中显示。
这是我从本地控制台为数据流运行程序运行代码的操作:
mvn compile exec:java -Dexec.mainClass= ... \
-Dexec.args=... " \
-Pdataflow-runner
Run Code Online (Sandbox Code Playgroud)
并且所有日志都将在此本地控制台上返回。但是,当我在浏览器上转到Google Cloud Console并搜索我的数据流作业日志时,在LOGGER.info(msg)任何地方的代码中都看不到这些日志。我只看到与数据流管道相关的日志。
因此,我想知道我的Beam应用程序是否以这样的方式单独运行,即不在管道内部的主类的一部分在本地运行,并且仅管道代码的一部分会发送到google cloud以便在那里执行。因此,不在管道代码中的那些日志信息将不会在Google Cloud Dataflow日志中提供。