Update Serilog.Sinks.PeriodicBatching
and other dependencies
#206
+16
−16
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.
I've been working to track down the origin of an unobserved task exception that was reported to us. Unfortunately the stack trace I have doesn't offer many clues, but this did lead me on a journey through the internals of Serilog.Sinks.PeriodicBatching, our most substantial dependency, and the very old, incrementally-built implementation there had a number of weaknesses that could explain the issue.
This led to a rewrite of PeriodicBatching using the primitives available in modern framework versions - good
Task
/async
support everywhere, and System.Threading.Channels - and without the obscuring clutter of conditional code required to support now-obsolete platforms.The new PeriodicBatching needs some solid dogfooding and downstream testing, so that's this PR :-)
There are no known breaking changes, but PeriodicBatching does include breaking changes that may affect other sinks being used in the same apps (details here), hence a major version bump.
Fixes #205