Skip to content

Feature request: Support of the assert of the Logging.Log buffer when testing #426

@coderade

Description

@coderade

Use case

When creating Unit Tests, I want to be able to assert if the messages have been logged on the AWS.Lambda.Powertools.Logging.Logger instance buffer.

This will be helpful to assert in the tests the logged messages for the current logger instance, like is possible with the Amazon.Lambda.TestUtilities.

Is it already possible in some way? And/Or does this feature request make sense?

Solution/User Experience

Currently the Amazon.Lambda.TestUtilities provides the TestLambdaLogger() implementation of the ILambdaLogger that stores all the messages in a buffer and writes the messages to the console.

With this helper we can assert if the message has been logged:

var logger = new TestLambdaLogger();
Assert.Contains("Processed message foobar", logger.Buffer.ToString());

Creating this kind of helper can be a good way to follow for the AWS.Lambda.Powertools.Logging.Logger or creating a method to get the current logger instance.

Alternative solutions

No response

Acknowledgment

Metadata

Metadata

Assignees

Labels

area/loggingCore logging utilityfeature-requestNew or enhancements to existing featuresreleasedFix or implementation already in main and released

Type

No type

Projects

Status

✅ Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions