我在 AWS Glue 日志上遇到问题。我在脚本中使用以下代码来获取记录器并执行日志,但所有日志都打印在错误日志而不是输出日志组上。
sc = SparkContext()
glueContext = GlueContext(sc)
spark = glueContext.spark_session
logger = glueContext.get_logger()
job = Job(glueContext)
job.init(args['JOB_NAME'], args)
logger.info("Started Processing")
知道如何找到它。
一个观察结果 - Print 是要输出日志,但是想用glue logger。
AWS Glue 的 get_logger() 默认将日志发送到 stderr 流,这就是它们出现在 CloudWatch 中的错误日志流中的原因。
如果您更喜欢坚持使用glueContext.get_logger(),但确保其日志出现在输出日志流中,您可以将stderr重定向到stdout
在脚本的早期添加此行:
导入系统 sys.stderr = sys.stdout
这可确保所有日志(包括来自 Glue 记录器的日志)都转到 CloudWatch 中的输出日志流