Skip to content

Start log lines with the Lambda request ID - #12

Merged
mnapoli merged 2 commits into
masterfrom
request-id-in-logs
Sep 26, 2026
Merged

mnapoli merged 2 commits into
masterfrom
request-id-in-logs

Conversation

@mnapoli

@mnapoli mnapoli commented Sep 26, 2026 •

Copy link
Copy Markdown
Member

Closes #3

Application logs had no Lambda request ID, so an error logged by the application could not be tied to its invocation: not to Bref's own lines (timeouts, Invoke Error), not to Lambda's REPORT line (duration, memory), and not to the other logs of the same request.

When $_SERVER['LAMBDA_REQUEST_ID'] is set (by Bref, on every invocation), StderrLogger now starts each line with it, like the logs of Lambda's native runtimes. This is the approach explored in #3:

8f507cfc-8b35-4e7e-9f26-f2a3a6e7e1a2	INFO	This is an info	{"message":"This is an info","level":"INFO"}

This is the same change as brefphp/monolog-bridge#2 for Bref's Monolog formatter (tested there on AWS with PHP-FPM, Octane, a queue worker and console commands). PHP-FPM needs brefphp/bref#2189.

Like the logs of Lambda's native runtimes: CloudWatch Logs Insights reads it as the @requestid field, so all the logs of an invocation can be found together with Lambda's START, END and REPORT lines.

Claude-Session: https://claude.ai/code/session_0168N55uBK9UjfpL6r8oGjDm
@mnapoli
mnapoli merged commit 184478f into master Sep 26, 2026
6 checks passed
@mnapoli
mnapoli deleted the request-id-in-logs branch September 26, 2026 19:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Request ID logging

1 participant