首页 > 解决方案 > 如何查看通过 SAM 本地调用 Lambda 的完整日志?

问题描述

我正在使用默认的 HelloWorld 示例 我的代码是:

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-api或开始sam local start-api --debug

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

我错过了什么,所以我可以看到完整的本地日志?

标签: node.jsamazon-web-servicesaws-lambdaaws-samaws-sam-cli

解决方案


在您的代码中,JSON.stringify将对象转换为来自日志记录的字符串,

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

然后,您可以通过终端/命令提示符查看日志记录

sam local start-api

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

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


推荐阅读