如何在AWS Lambda函数中查看console.log

4

在 AWS Lambda 函数内部,您在哪里可以看到 console.log() 的调用?我查看了 AWS CloudWatch 事件日志,但没有看到它们。是否有一种 CLI 方式来查看它们?

2个回答

2

console.log() 应该最终出现在您函数的 CloudWatch 日志中。您应该能够在函数的监控选项卡下的 Web 控制台界面中找到正确的日志组。请注意,每次调用函数都会有不同的日志流,并且写入日志和显示日志之间可能会有延迟,请耐心等待。

可能您没有 IAM 权限来创建日志组或写入日志流。Ashan 已经提供了如何解决此问题的链接。

此外,您可以使用 awslogs 工具列出组/流,以及下载或跟踪组/流:

  • 列出可用组:awslogs groups
  • 列出组app/foo中可用的流:awslogs streams app/foo
  • “tail -f”来自日志组app/foo的所有流:awslogs get app/foo ALL --watch

“console interface for your function”是什么意思?您是指Web控制台lamba>functions>myFunction,然后是Designer部分吗?有一个名为“Amazon Cloudwatch Logs”的项目,但不清楚我实际上在哪里看到日志调用。 - honkskillet
如果您前往lambda>函数>myFunction>监控选项卡,您将看到许多有关函数调用的图形。每个图形顶部都有一个名为“跳转至日志”的链接,该链接将带您进入您的函数的CloudWatch日志组。 - Eric M. Johnson
每次调用都会有不同的日志流这种说法是不准确的。实际上,每个容器实例只有一个日志流。 - dlock

0

请确保分配给 AWS Lambda 函数的 IAM 角色具有写入 CloudWatch Logs 的权限。有关策略的更多信息,请参阅 使用基于身份的策略(IAM 策略)管理 CloudWatch Logs

此外,您可以通过在 Lambda 控制台中单击“添加触发器”下的 CloudWatch Logs 来查看 CloudWatch 日志组。

enter image description here


当我添加CloudWatch日志并从我的Lambda函数配置触发器时,我会收到警告:“提供的日志组为目标函数的函数日志保留。(服务:AWSLogs;状态码:400;错误代码:InvalidParameterException;请求ID:1rfq4315-dfeq5)”。 - honkskillet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接