MWAA通过ECS执行Python任务时,logger.info日志无法在CloudWatch显示
MWAA调用ECS Python任务时logger.info日志不显示在CloudWatch的解决办法
补全Python日志Handler配置
你只设置了logger的级别,但Python默认根日志器级别为WARNING,自定义logger若未绑定Handler会继承根日志器行为,导致INFO日志无法输出。需添加StreamHandler将INFO级日志输出到stdout(ECS日志驱动会捕获stdout/stderr):import logging logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) # 添加标准输出Handler,确保INFO日志能被捕获 handler = logging.StreamHandler() handler.setLevel(logging.INFO) # 可选:设置日志格式,方便排查 formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') handler.setFormatter(formatter) logger.addHandler(handler)检查ECS任务定义的日志驱动配置
确认ECS任务定义中容器的logConfiguration未过滤INFO级日志:- 避免设置
awslogs-filter-pattern为WARN或更高的过滤规则 - 确保
awslogs-group指向正确日志组,任务执行角色拥有logs:PutLogEvents等必要权限(你能看到WARNING日志,权限大概率没问题,但可交叉验证)
- 避免设置
本地/容器内直接测试日志输出
手动运行Docker镜像或Python脚本,查看stdout是否有INFO日志输出:- 若本地能看到但CloudWatch没有,重点排查ECS日志驱动配置
- 若本地也看不到,说明Python代码的日志配置仍有问题
内容的提问来源于stack exchange,提问作者יבגני לוי
相关产品推荐
相关产品推荐

