【发布时间】:2018-02-21 19:51:48
【问题描述】:
AWS Glue 作业将输出和错误记录到两个不同的 CloudWatch 日志中,默认情况下是 /aws-glue/jobs/error 和 /aws-glue/jobs/output。当我在我的脚本中包含print() 语句进行调试时,它们会被写入错误日志(/aws-glue/jobs/error)。
我尝试过使用:
log4jLogger = sparkContext._jvm.org.apache.log4j
log = log4jLogger.LogManager.getLogger(__name__)
log.warn("Hello World!")
但是“你好世界!”没有出现在我运行的测试作业的任何日志中。
有谁知道如何将调试日志语句写入输出日志 (/aws-glue/jobs/output)?
TIA!
编辑:
事实证明,上述方法确实有效。发生的事情是我在 AWS Glue 脚本编辑器窗口中运行该作业,该窗口捕获 Command-F 组合键并仅在当前脚本中搜索。因此,当我尝试在页面中搜索日志输出时,它似乎没有被记录。
注意:通过测试第一响应者的建议,我确实发现 AWS Glue 脚本似乎没有输出任何级别低于 WARN 的日志消息!
【问题讨论】:
-
你需要导入任何东西来使用
log4jLogger吗?不知何故将这三行添加到我的脚本中,我的工作就挂在那里了。状态显示running但没有生成日志 -
这在胶水作业中对我不起作用。我正在输出 WARN 级别的日志,但看不到 min Cloud Watch。你还需要其他什么来让它工作吗?谢谢
-
@padr 我遇到了同样的问题。查看日志时,需要在过滤事件搜索框中搜索日志文本。记录一些不会出现在任何其他日志记录中的无意义文本来测试这一点。