Skip to content

Start log lines with the Lambda request ID - #2

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

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

Conversation

@mnapoli

@mnapoli mnapoli commented Sep 26, 2026 •

Copy link
Copy Markdown
Member

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), CloudWatchFormatter now starts each line with it, like the logs of Lambda's native runtimes:

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

Release

A major version (2.0.0): the format of the log lines changes. The bridges allow both versions (brefphp/laravel-bridge#213, brefphp/symfony-bridge#77), so applications get 2.0 on their next composer update, and can keep the previous format by requiring bref/monolog-bridge: ^1.0.

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
Removed example log message and clarified request ID handling.
@mnapoli
mnapoli merged commit d3290cd into main Sep 26, 2026
7 checks passed
@mnapoli
mnapoli deleted the request-id-in-logs branch September 26, 2026 19:01
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.

1 participant