简体   繁体   中英

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

I am using the default HelloWorld example My code is:

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

Everything works as expected. I am starting it with sam local start-api or sam local start-api --debug

My questions, Where do I see the output of console.log(event);
Currently I can only see a { .
I if put there a string, like 'AAAAAAAA' I would see that in the terminal where I typed sam local start-api (as expected).

what am I missing so I can see full local logs?

In your code, put in JSON.stringify to convert the object to a string from logging,

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

You can then see the logging in the terminal/command-prompt via

sam local start-api

Or have it log to a file with:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM