遇到这个问题,我们可以按照以下步骤来解决:
打开ECS服务控制台,找到你要查看行日志的任务。
单击任务的名称,进入任务详情页。
点击 "Logs" 选项卡,然后单击 "Create new log group"。
输入要为该任务创建的新日志组的名称。下图中,在“Log group name”字段中输入“demo-log-group”。
单击 "Create" 按钮,为该任务创建新的日志组。
找到与 ECS 集群实例关联的 "awslogs" 日志驱动程序。确保它正确配置,以确保输出到之前创建的新 AWS Cloudwatch 日志组。
例如,下面是相应的“php-log-driver”配置,其中 "awslogs-group" 字段设置为新创建的日志组名称。
"php-log-driver": {
"logDriver": "awslogs",
"options": {
"awslogs-region": "us-east-1",
"awslogs-group": "demo-log-group",
"awslogs-stream-prefix": "php-logs-"
}
}
在上图中,"awslogs-group" 字段值必须与在第4步中创建的相应日志组的名称相同。
更改该任务定义(或任务运算符)以使用上面的新日志驱动程序配置,然后启动任务并查看日志。这时,您应该能够从 stderr 中看到 PHP 的日志信息。
这就是解决 AWS Cloudwatch 中来自 ECS 任务的 PHP stderr 未显示的方法。