gpt4 book ai didi

pyspark - 如何将消息写入 AWS Glue 上的输出日志?

转载 作者:行者123 更新时间:2023-12-03 22:24:49 26 4
gpt4 key购买 nike

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!")

但是“ Hello World !”没有出现在我运行的测试作业的任何一个日志中。

有谁知道如何将调试日志语句写入输出日志( /aws-glue/jobs/output)?

蒂亚!

编辑:

事实证明,上面确实有效。发生的事情是我在 AWS Glue 脚本编辑器窗口中运行该作业,该窗口捕获 Command-F 组合键并仅在当前脚本中搜索。因此,当我尝试在页面内搜索日志输出时,它似乎没有被记录。

注意:通过测试第一响应者的建议,我确实发现 AWS Glue 脚本似乎没有输出任何级别低于 WARN 的日志消息!

最佳答案

尝试使用来自 logging 的内置 python 记录器模块,默认情况下它将消息写入标准输出流。

import logging

MSG_FORMAT = '%(asctime)s %(levelname)s %(name)s: %(message)s'
DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S'
logging.basicConfig(format=MSG_FORMAT, datefmt=DATETIME_FORMAT)
logger = logging.getLogger(<logger-name-here>)

logger.setLevel(logging.INFO)

...

logger.info("Test log message")

关于pyspark - 如何将消息写入 AWS Glue 上的输出日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48914324/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com