AWS Lambda
开发人员指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

日志记录 (Node.js)

您的 Lambda 函数可包含日志记录语句。AWS Lambda 将这些日志写入 CloudWatch。如果您使用 Lambda 控制台调用 Lambda 函数,控制台将显示相同的日志。

以下 Node.js 语句生成了日志条目:

  • console.log()

  • console.error()

  • console.warn()

  • console.info()

例如,请考虑以下 Node.js 代码示例。

Copy
console.log('Loading function'); exports.handler = function(event, context, callback) { //console.log('Received event:', JSON.stringify(event, null, 2)); console.log('value1 =', event.key1); console.log('value2 =', event.key2); console.log('value3 =', event.key3); callback(null, event.key1); // Echo back the first key value };

屏幕截图显示了 Lambda 控制台中的示例 Log output 部分,您还可在 CloudWatch 中查找这些日志。有关更多信息,请参阅访问 AWS Lambda 的 Amazon CloudWatch 日志

控制台在调用该函数时使用 RequestResponse 调用类型(同步调用),因此它会获得控制台显示的来自 AWS Lambda 的返回值 (value1)。

在 AWS Lambda 控制台中测试上述 Node.js 代码

  1. 在控制台中,使用 hello-world 蓝图创建 Lambda 函数。确保选择 Node.js 作为 runtime。有关如何执行此操作的说明,请参阅 步骤 2.1:创建 Hello World Lambda 函数

  2. 使用 Lambda 控制台中提供的名为 Hello WorldSample event template 测试 Lambda 函数。有关如何执行此操作的说明,请参阅 步骤 2.2:手动调用 Lambda 函数并验证结果、日志和指标。您也可以更新该代码并尝试本部分中讨论的其他日志记录方法和属性。

如需分步指导,请参阅 入门

查找日志

可以通过以下方式找到您的 Lambda 函数写入的日志:

  • 在 AWS Lambda 控制台中 - AWS Lambda 控制台中的 Log output 部分显示日志。

  • 在响应标头中,当您以编程方式调用 Lambda 函数时 - 如果以编程方式调用 Lambda 函数,则可添加 LogType 参数以检索已写入 CloudWatch 日志的最后 4 KB 日志数据。AWS Lambda 在响应的 x-amz-log-results 头中返回此日志信息。有关更多信息,请参阅调用

    如果您使用 AWS CLI 调用该函数,则可指定带有值 Tail --log-type parameter 来检索相同信息。

  • 在 CloudWatch 日志中 - 要在 CloudWatch 中查找您的日志,您需要知道日志组名称和日志流名称。您可通过在代码中添加 context.logGroupNamecontext.logStreamName 方法来获取这类信息。当您运行 Lambda 函数时,在控制台或 CLI 中生成的日志将为您显示日志组名称和日志流名称。

本页内容: