Amazon.Lambda.Logging.AspNetCore create parameterized JSON log messages #2083
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of changes:
When using the
ILogger
in an ASP.NET Core Lambda function or any Lambda function using Microsoft.Extensions.Loggingfor logging currently don't have the parameters for the log messages added as properties in the JSON log message. This PR updates
Amazon.Lambda.Logging.AspNetCoreto see if JSON logging is enabled. If so it deconstructs the incoming log message into
Amazon.Lambda.Logging.AspNetCore`'s ILogger implementation into a message template and parameter collection. Then send those deconstructed pieces into RuntimeSupport to create the standard JSON Lambda log message with the log parameters as JSON properties.For example the following log message:
Gets converted into the following JSON log message:
The PR is currently in PR because we need the latest version of
Amazon.Lambda.RuntimeSupport
to be deployed to the managed runtime. That version has a new logging API that is required for this to work.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.