AWS Glue作业忽略日志设置的根本原因是Glue作业会在执行时覆盖实例配置(即log4j.properties),从而导致无法使用用户自定义的日志设置。因此,可以在作业脚本中手动设置日志配置信息,以覆盖实例配置并确保自定义日志设置生效。
以下是一个示例,说明如何在AWS Glue作业中手动设置日志配置信息:
import logging import logging.config
logging_config = { 'version': 1, 'formatters': { 'default': { 'format': '%(asctime)s %(levelname)s %(name)s:%(message)s' } }, 'handlers': { 'console': { 'class': 'logging.StreamHandler', 'formatter': 'default', 'level': 'INFO' } }, 'root': { 'level': 'INFO', 'handlers': ['console'] }, }
logging.getLogger(name) logging.config.dictConfig(logging_config)
logging.info('Message to be logged.')
这样,您就可以在AWS Glue作业中手动设置日志配置信息,并确保自定义日志设置生效了。