Fixes #1105 - adds static Log.None property with appropriate tests. … #1108
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.
What issue does this PR address?
Adds a static
Log.None
property as per the discussion in #1105Does this PR introduce a breaking change?
No
Please check if the PR fulfills these requirements
Other information:
Basic change to stash a
SilentLogger
instance in a private static variable on theLog
class. That instance is used as the initial value of theLogger
property. The same instance is then exposed via theNone
property.CloseAndFlush()
was modified to reset back to this instance rather than creating yet anotherSilentLogger
instance.Comments were updated where appropriate and code style was preserved.
I've added tests to ensure that the
None
property is initialised properly. I've also ensured via a test that initialisation of theLogger
property doesn't affect theNone
property.Finally I've ensured that
CloseAndFlush
doesn't corrupt the logger stored and accessible via theNone
property by checking that it remains aSilentLogger
instance and that we can invoke it without raising an exception.I think there are lines of words here than lines of code changed in the PR. All tests (on my machine) seem to pass in the various framework versions.
Thanks 💯