Advertisement
Guest User

Untitled

a guest
Feb 2nd, 2023
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.20 KB | None | 0 0
  1. public static class LoggingExtensions
  2. {
  3.     private const string SectionName = "Serilog";
  4.     private const string OutputTemplate = "[{Timestamp:HH:mm:ss.fff} {Level:u3}] {Message:lj} {Properties:j}{NewLine}{Exception}";
  5.  
  6.     public static IHostBuilder AddSerilogCustomLogging(this IHostBuilder builder, Action<LoggerConfiguration>? configureLogger = null)
  7.     {
  8.         builder.ConfigureServices((hostContext, services) =>
  9.         {
  10.             var configuration = hostContext.Configuration;
  11.             var loggerConfig = new LoggerConfiguration()
  12.                 .MinimumLevel.Information()
  13.                 .MinimumLevel.Override("System", LogEventLevel.Error)
  14.                 .MinimumLevel.Override("Microsoft", LogEventLevel.Error)
  15.                 .ReadFrom.Configuration(configuration, SectionName)
  16.                 .Enrich.FromLogContext()
  17.                 .Enrich.WithMachineName()
  18.                 .Enrich.WithProcessName()
  19.                 .Enrich.WithMemoryUsage()
  20.                 .WriteTo.Console(outputTemplate: OutputTemplate);
  21.  
  22.             configureLogger?.Invoke(loggerConfig);
  23.  
  24.             Log.Logger = loggerConfig.CreateLogger();
  25.         });
  26.  
  27.         return builder.UseSerilog();
  28.     }
  29. }
  30.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement