< Summary - ZhEaIsNsAaBn.Libraries coverage (affected: 23 packages)

Information
Class: ZhEaIsNsAaBn.Utilities.Logging.SerilogTracingListener
Assembly: ZhEaIsNsAaBn.Utilities.Logging
File(s): /home/runner/work/ZhEaIsNsAaBn.Libraries.V1/ZhEaIsNsAaBn.Libraries.V1/src/UtilitiesPackages/ZhEaIsNsAaBn.Utilities.Logging/SerilogTracingListener.cs
Line coverage
100%
Covered lines: 10
Uncovered lines: 0
Coverable lines: 10
Total lines: 41
Line coverage: 100%
Branch coverage
75%
Covered branches: 3
Total branches: 4
Branch coverage: 75%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
StartAsync(...)50%22100%
StopAsync(...)100%11100%
Dispose()100%22100%

File(s)

/home/runner/work/ZhEaIsNsAaBn.Libraries.V1/ZhEaIsNsAaBn.Libraries.V1/src/UtilitiesPackages/ZhEaIsNsAaBn.Utilities.Logging/SerilogTracingListener.cs

#LineLine coverage
 1#region Usings
 2using Microsoft.Extensions.Hosting;
 3using SerilogTracing;
 4#endregion
 5
 6namespace ZhEaIsNsAaBn.Utilities.Logging;
 7
 8/// <summary>
 9/// Runs the SerilogTracing listener for the app's lifetime: every <c>ActivitySource</c> in the process, plus ASP.NET Co
 10/// requests and SqlClient commands, is written to the shared Serilog logger. Disposed on shutdown (STYLE_GUIDE §7).
 11/// </summary>
 12internal sealed class SerilogTracingListener : IHostedService, IDisposable
 13{
 14    private IDisposable? _listener;
 15
 16
 17    public Task StartAsync( CancellationToken cancellationToken )
 18    {
 419        _listener ??= new ActivityListenerConfiguration()
 420                      .Instrument.AspNetCoreRequests()
 421                      .Instrument.SqlClientCommands()
 422                      .TraceToSharedLogger();
 23
 24
 425        return Task.CompletedTask;
 26    }
 27
 28    public Task StopAsync( CancellationToken cancellationToken )
 29    {
 430        Dispose();
 31
 32
 433        return Task.CompletedTask;
 34    }
 35
 36    public void Dispose()
 37    {
 838        _listener?.Dispose();
 839        _listener = null;
 840    }
 41}