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

How do I see the full logs of a local invocation of a Lambda via SAM?

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));

然后您可以通过

在terminal/command-prompt中看到日志记录

sam local start-api

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

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