/// <summary> /// Register Serilog /// https://dotnet-cookbook.cfapps.io/core/scoped-logging-with-serilog/ /// https://andrewlock.net/adding-serilog-to-the-asp-net-core-generic-host/ /// </summary> public static IHostBuilder RegisterLogger(this IHostBuilder hostBuilder) { return(hostBuilder.ConfigureLogging(logging => { logging.ClearProviders(); }) .UseSerilog((context, configuration) => { configuration.ReadFrom.Configuration(context.Configuration); configuration.Enrich.WithDynamicProperty("MemoryUsage", () => DebugInfoProvider.GetMemoryUsage(3)) .Enrich.WithDynamicProperty("ThreadMemoryUsage", () => DebugInfoProvider.GetThreadMemoryUsage(3)) .Enrich.WithDynamicProperty("GC", () => DebugInfoProvider.GetGenerations()) .Enrich.WithProperty("Version", PlatformServices.Default.Application.ApplicationVersion); }, writeToProviders: true)); }