Releases: serilog-contrib/serilog-sinks-grafana-loki
Releases · serilog-contrib/serilog-sinks-grafana-loki
v9.0.1
v9.0.0
🚀 The reasons behind v9 - a ground-up rewrite
v9 is a ground-up rewrite of the sink on Serilog 4.x native batching, with a streaming serialization pipeline. On the common workload it allocates ~55× less and runs ~4.5× faster than v8 - see Benchmarks.
Implemented:
- Add support for actual structured metadata
- Support the work with Serilog's properties TraceId & SpanId
- Change queueLimit from infinity to prevent OutOfMemoryException
- Loki Url is not validated on bootstrap
- Pluggable exception serialization via
ILokiExceptionFormatter
Fixed:
- Exception while emitting periodic batch from LokiSink
- Level property keeps getting renamed and added to the LokiLogEvent if the grafana server is down
- Handling of
Serilog.Events.LogEventinLokiBatchFormatteris not thread-safe - Tenant RegExpression is not valid for valid X-Scope-OrgID header values
- Property doesn't render correctly if property, used as a part of it is mapped to the label
- Message template is not updated while property renaming
- Default value of period is not corresponding the XML-doc
Breaking changes:
- Targets
net8.0,net9.0,net10.0(all earlier TFMs are EOL); requires Serilog4.3.1+;FSharp.Corebecomes a transitive dependency batchPostingLimit→batchSizeLimit;queueLimitis now bounded by default (50 000)- Removed
IReservedPropertyRenamingStrategy/reservedPropertyRenamingStrategy,useInternalTimestamp,leavePropertiesIntact - Removed the
ILokiHttpClienthierarchy (LokiHttpClient,LokiGzipHttpClient) - inject a standardHttpClientorHttpMessageHandler; gzip is aDelegatingHandlerconcern Fatalis rendered asfatal(wascritical) - update dashboards/alerts- Properties promoted via
propertiesAsLabelsare also kept in the log body; reserved body keys are prefixed with_ uriandtenantare validated at startup (throwArgumentException)
📚 Before upgrading, please read Upgrading from v8 to v9 and Breaking changes.
Full Changelog: v8.3.2...v9.0.0
v8.3.2
v8.3.1
v8.3.0
Implemented
- Add nanosecond support for timestamps for versions prior to .NET 7 thanks @danielhuntleyalpine for the suggestion
v8.2.0
Implemented
- Allow override of LokiJsonTextFormatter.Format
- Review dependencies and use minimal required version
- Tenant header for multitenancy by @mgalczynski
- Allow override of LokiJsonTextFormatter.Format
- Public assemblies should have a strong name)
Fixed:
- Lack of microseconds and nanoseconds in .NET 7 and later by @Zagrebelin
- Fix typo in project url by @tom-englert
New Contributors
- @mgalczynski made their first contribution in #194
- @Zagrebelin made their first contribution in #209
- @tom-englert made their first contribution in #214
Full Changelog: v8.1.0...v8.2.0
v8.2.0-beta.3
Implemented:
Fixed:
v8.2.0-beta.2
v8.2.0-beta.1
Implemented:
- Tenant header for multitenancy
- Extended assess to
protectedfor Allow override of LokiJsonTextFormatter.Format