using Microsoft.Extensions.Logging; using Serilog; namespace ZB.MOM.WW.CBDD.Tests.Benchmark; internal static class Logging { private static readonly Lazy LoggerFactoryInstance = new(CreateFactory); /// /// Gets the shared logger factory for benchmarks. /// public static ILoggerFactory LoggerFactory => LoggerFactoryInstance.Value; /// /// Creates a logger for the specified category type. /// /// The logger category type. /// A logger for . public static Microsoft.Extensions.Logging.ILogger CreateLogger() { return LoggerFactory.CreateLogger(); } private static ILoggerFactory CreateFactory() { var serilogLogger = new LoggerConfiguration() .Enrich.FromLogContext() .WriteTo.Console() .CreateLogger(); return Microsoft.Extensions.Logging.LoggerFactory.Create(builder => { builder.ClearProviders(); builder.AddSerilog(serilogLogger, dispose: true); }); } }