aws / aws/aws-lambda-runtime-interface-emulator

logs not showing correctly when using sam

Open
#15 18 comments 52 reactions 0 assignees View on GitHub
bug
Dominant language
Go
Stars
1.1k
Forks
118
Avg merge
42m
Merged PRs (30d)
2

Description

**Description**
When using sam invoke, the output of `console.log` is not displayed correctly as described in [this issue](https://github.com/aws/aws-sam-cli/issues/1359).

**Steps to reproduce**
`console.log('line one\rline two\rline three\nline four\nline five')`

will output

> START RequestId: ac1ef293-d504-16a9-6b21-20a04c7f98e6 Version: $LATEST
> line fiveeT14:12:51.527Z ac1ef293-d504-16a9-6b21-20a04c7f98e6 INFO line one
> END RequestId: ac1ef293-d504-16a9-6b21-20a04c7f98e6

and
`console.log(json.stringify({one: 'line one', two: 'line two', three: 'line three', four: 'line four'}, null, 2))`
is just as problematic. One can only read the first and last lines, usually `{` and` }`

According to @mhart

> This is due to some unfortunate internal changes in the runtimes where console.log is overwritten by a function that transforms all newlines to \r.

**Additional environment details**
os: OSX 10.14.6
sam cli versions tested: 1.3.0, 1.12.0, 1.13.2

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the multiline console.log output with sam invoke using the examples in the issue, then trace how the runtime interface emulator handles console output and newline characters. Done means carriage returns and multiline logs, including pretty-printed JSON, are displayed correctly.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.