This repository was archived by the owner on Aug 27, 2025. It is now read-only.
Update dependency Serilog to v4 #28
Open
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.
This PR contains the following updates:
3.1.1->4.3.0Release Notes
serilog/serilog (Serilog)
v4.3.0What's Changed
LogEvent.AddPropertyIfAbsent(ILogEventPropertyFactory, ...)overload that helps avoid allocations (@vanni-giachin)LogContext.Push()overloads acceptingIEnumerable<ILogEventEnricher>andReadOnlySpan<ILogEventEnricher>(@SimonCropp)New Contributors
Full Changelog: serilog/serilog@v4.2.0...v4.3.0
v4.2.0What's Changed
RuntimeHelpers.GetHashCode()in message template cache comparer (@sungam3r)net9.0TFM (@nblumhardt)ILogEventSink(@erichiller)New Contributors
Full Changelog: serilog/serilog@v4.1.0...v4.2.0
v4.1.0BatchingOptions.RetryTimeLimitand update retry scheduling algorithm (@nblumhardt)Important note
IBatchedLogEventSinkbatch retry scheduling has changed in this version. The default configuration still tries failed batches for approximately ten minutes, but theBufferingTimeLimitno longer implicitly causes the retry time to be extended or reduced. If you need a specific retry time, setBatchingOptions.RetryTimeLimit, which reliably controls retry time.v4.0.2getaccessors (@nblumhardt)IDisposableinLog.CloseAndFlushAsync()when the target logger is notIAsyncDisposable(@nblumhardt)v4.0.1HashSetinstances, reduce LINQ usage, avoid reallocatingstring[]to improve performance and cut GC pressure (@nblumhardt)Major.Minor.0.0assembly versioning (@nblumhardt)v4.0.0What's new in Serilog 4.0.0?
Simple, robust, built-in batching support
Sinks that need batching functionality can now be easily written, without any additional package dependencies, by implementing
IBatchedLogEventSink:Batched sinks can be added using
WriteTo.Sink(IBatchedLogEventSink, ...)- they're given first-class consideration just like regular un-batched sinks.The built-in batching implementation is based on
System.Threading.Channelsand draws on the originalSerilog.Sinks.PeriodicBatchingpackage (now in maintenance-mode), to provide a full-featured, efficient, async-native batching implementation.Experimental dotted name capturing
By setting an experimental
AppContextswitch, message templates can be used to capture dotted names, which are required when using some logging schemas.While currently experimental and unsupported, this flag is intended to help the ecosystem evaluate and prepare for dotted name support in a future Serilog release.
Changes
UtcTimestampas a built-in token in output templates (@MatthewHays)ReusableStringWriter(@nblumhardt)LogEvent.UnstableAssembleFromParts()(@nblumhardt)IBatchedLogEventSinkandWriteTo.Sink(IBatchedLogEventSink)(@nblumhardt)LoggerSinkConfiguration.CreateSink()and redesign.Wrap()(@nblumhardt, @bartelink)MessageTemplateParserperformance, switch to allow.in captured property names (@nblumhardt)}in message template format specifiers (@Insomniak47)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.