Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Serilog.Sinks.PeriodicBatching and other dependencies #206

Merged
merged 1 commit into from
Jan 2, 2024

Conversation

nblumhardt
Copy link
Member

@nblumhardt nblumhardt commented Jan 1, 2024

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

…eliminate unobserved task exceptions
Copy link
Member

@KodrAus KodrAus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me 👍 I was very confused by the list of dependencies until I realized I was looking at a sample project 🙂

@nblumhardt nblumhardt merged commit d7a739a into datalust:dev Jan 2, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants