Updating to Serilog 3.1 and the matching Serilog.Formatting.Compact ensures trace and span ids will reach Seq when available.
The PR is mostly housekeeping; dropping the .NET Core 1.x-era targets and supporting the later unsupported TFMs via the supported netstandard2.0 one helps clean up the codebase and keep us in good stead to improve the sink in the future.
In the process - the durable log shipper's PortableTimer implementation could technically eat up thread pool threads in the case of there being very long batch flushing times. Not sure whether this would actually occur in normal use (the threads would be released each time the queue hit zero) but it's conceivable, so I've rolled in a tiny fix for this, too.
Finally, since there's really never any good time to make the change, I've included one final commit that updates the C# language version to 10 and switches to file-scoped namespaces; reviewers might need to check out this commit separately 😅 .
Updating to Serilog 3.1 and the matching Serilog.Formatting.Compact ensures trace and span ids will reach Seq when available.
The PR is mostly housekeeping; dropping the .NET Core 1.x-era targets and supporting the later unsupported TFMs via the supported
netstandard2.0
one helps clean up the codebase and keep us in good stead to improve the sink in the future.In the process - the durable log shipper's
PortableTimer
implementation could technically eat up thread pool threads in the case of there being very long batch flushing times. Not sure whether this would actually occur in normal use (the threads would be released each time the queue hit zero) but it's conceivable, so I've rolled in a tiny fix for this, too.Finally, since there's really never any good time to make the change, I've included one final commit that updates the C# language version to 10 and switches to file-scoped namespaces; reviewers might need to check out this commit separately 😅 .
See also serilog/serilog#1923