AWS胶作业日志输出和错误两种不同的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
)?
TIA!
编辑:
事实证明,上述方法确实有效。发生的事情是我在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")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句