node.js - 如何查看通过 SAM 本地调用 Lambda 的完整日志?

标签 node.js amazon-web-services aws-lambda aws-sam aws-sam-cli

I am using the default HelloWorld example 我的代码是:

let response;
exports.lambdaHandler = async (event, context) => {
    console.log(event);
    try {
        response = {
            'statusCode': 200,
            'body': JSON.stringify({
                message: 'hello world'
            })
        }
    } catch (err) {
        console.log(err);
        return err;
    }

    return response
};

一切都按预期进行。我用 sam local start-apisam local start-api --debug

启动它

我的问题,我在哪里可以看到 console.log(event);
的输出 目前我只能看到 {.
我如果在那里放一个字符串,比如 'AAAAAAAA' 我会在我输入 sam local start-api 的终端中看到它(如预期的那样)。

我缺少什么才能看到完整的本地日志?

最佳答案

在您的代码中,放入 JSON.stringify 以将对象从日志记录转换为字符串,

console.log(JSON.stringify(event));

然后您可以通过以下方式在终端/命令提示符中看到日志记录

sam local start-api

或者让它记录到一个文件:

sam local start-api --log-file logfile.txt

关于node.js - 如何查看通过 SAM 本地调用 Lambda 的完整日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68366373/

相关文章:

javascript - 通过外部网站控制node.js应用程序的事件

node.js - 是否可以将 ts_stat 与参数化查询 Postgresql 一起使用

amazon-web-services - 是否可以根据每个实例 ID 使用 IAM 权限配置 AWS AutoScalingGroup 中的每个实例?

amazon-web-services - Lambda S3 getObject流到ES接收管道

aws-lambda - 云信息 : Invalid permissions on Lambda function found with API GW Integration

javascript - 如何通过真实服务器发送电子邮件(SendGrid)

mysql - 'ER_PARSE_ERROR' 因为 ?在使用 MySQL 的 url 参数中

javascript - 如何添加 Secrets Manager IAM 权限?

ruby - 使用 Ruby 将大文件上传到 S3 失败并出现内存不足错误,如何分块读取和上传?

java - 如何使用 AmazonSQSExtendedClient 从 SQSEvent 接收数据