serilog-sinks-grafana-loki
serilog-sinks-grafana-loki copied to clipboard
Bump Serilog from 2.12.0 to 4.1.0
Bumps Serilog from 2.12.0 to 4.1.0.
Release notes
Sourced from Serilog's releases.
v4.1.0
- #2108 - failure listeners and fallback sinks (
@nblumhardt
)- #2120 - add
BatchingOptions.RetryTimeLimit
and update retry scheduling algorithm (@nblumhardt
)Important note
IBatchedLogEventSink
batch retry scheduling has changed in this version. The default configuration still tries failed batches for approximately ten minutes, but theBufferingTimeLimit
no 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.2
- #2094 - remove boxing and string allocations in output template formatting (
@epeshk
)- #2103 - don't capture properties with private
get
accessors (@nblumhardt
)- #2095 - remove junk file (
@Numpsy
)- #2116 - fall back to
IDisposable
inLog.CloseAndFlushAsync()
when the target logger is notIAsyncDisposable
(@nblumhardt
)v4.0.1
- #2090 — when capturing structured values, reuse
HashSet
instances, reduce LINQ usage, avoid reallocatingstring[]
to improve performance and cut GC pressure (@nblumhardt
)- #2089 - allow capturing of non-anonymous structured values when trimming (
@nblumhardt
)- #2083 - use
Major.Minor.0.0
assembly versioning (@nblumhardt
)v4.0.0
What's new in Serilog 4.0.0?
If you're deploying to .NET Framework, note that Serilog's assembly version number has been unpinned from the long-running historical
2.0.0
default, and now matches the package version precisely. If you encounter issues, ensure your build is generating valid assembly binding redirects.Simple, robust, built-in batching support
Sinks that need batching functionality can now be easily written, without any additional package dependencies, by implementing
IBatchedLogEventSink
:class MyBatchedSink: IBatchedLogEventSink { public Task EmitBatchAsync(IReadOnlyCollection<LogEvent> batch) { // Send a batch of log events... } }
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.Channels
and draws on the originalSerilog.Sinks.PeriodicBatching
package (now in maintenance-mode), to provide a full-featured, efficient, async-native batching implementation.Experimental dotted name capturing
By setting an experimental
AppContext
switch, message templates can be used to capture dotted names, which are required when using some logging schemas.AppContext.SetSwitch("Serilog.Parsing.MessageTemplateParser.AcceptDottedPropertyNames", true);
</tr></table>
... (truncated)
Commits
467cfd8
Give up on skipping sync builds for now (#2131)de5e22e
Attempt to avoid building PR syncs, number 2 (#2130)57e6e2b
Never publish from PRs, even within the same repo (#2129)46a3b30
An initial Actions-based CI build and publishing workflow (#2127)fe40d19
AddBatchingOptions.RetryTimeLimit
(#2120)3da0979
Failure listeners and fallback sinks (#2108)4dca2ae
Minor version bump, features incoming [skip ci]7b85d53
Update publishing key3aa295b
Properly synchronize use of InMemoryBatchedSink fields (attempting to fix fla...6e5a82c
Tighten up the test to ensure we don't add IAsyncDisposable to the test stub- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
-
@dependabot rebase
will rebase this PR -
@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it -
@dependabot merge
will merge this PR after your CI passes on it -
@dependabot squash and merge
will squash and merge this PR after your CI passes on it -
@dependabot cancel merge
will cancel a previously requested merge and block automerging -
@dependabot reopen
will reopen this PR if it is closed -
@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually -
@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency -
@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)