public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .UseSerilog((ctx, config) => { config.ReadFrom.Configuration(ctx.Configuration); var formatterConfig = new EcsTextFormatterConfiguration(); formatterConfig.MapHttpContext(ctx.Configuration.Get <HttpContextAccessor>()); var formatter = new EcsTextFormatter(formatterConfig); config.WriteTo.Console(formatter); }) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup <Startup>().UseUrls(Environment.GetEnvironmentVariable("BASE_URL") ?? "http://*:5111"); });
private static void TestLogger() { var formatterConfig = new EcsTextFormatterConfiguration(); var formatter = new EcsTextFormatter(formatterConfig); var loggerMS = Devmasters.Log.Logger.CreateLogger("adsf", Devmasters.Log.Logger.DefaultConfiguration() .MinimumLevel.Is(Serilog.Events.LogEventLevel.Debug) .Enrich.WithProperty("codeversion", System.Reflection.Assembly.GetEntryAssembly().GetName().Version.ToString()) .AddFileLoggerFilePerLevel("c:/Data/Logs/pl/", "slog.txt", outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff} {SourceContext} [{Level:u3}] {Message:lj}{NewLine}{Exception}", rollingInterval: RollingInterval.Day, fileSizeLimitBytes: null, retainedFileCountLimit: 9) ); loggerMS.Debug("test debug"); loggerMS.Info("test info"); loggerMS.Warning("test warn"); loggerMS.Error("test err"); loggerMS.CloseAndFlush(); var logger = Devmasters.Log.Logger.CreateLogger("DevPlayground", Devmasters.Log.Logger.DefaultConfiguration() .Enrich.WithProperty("codeversion", System.Reflection.Assembly.GetEntryAssembly().GetName().Version.ToString()) ); var log = new Devmasters.Log.LogMessage() .SetMessage("asdf-info-adv2") .SetException(new ArgumentNullException("param", "message about exc")) .SetCustomKeyValue("simpleKey", "simplevalue") .SetCustomKeyValue("advKey", new { action = "akce2", subject = "zdroj" }) ; logger.Info(log); var log2 = new Devmasters.Log.LogMessage() .SetMessage("asdf-warn-adv2") .SetException(new ArgumentNullException("param", "message about exc")) .SetCustomKeyValue("simpleKey", "simplevalue") .SetCustomKeyValue("advKey", new { action = "akce3", subject = "zdroj3" }) .SetContext(Devmasters.Log.CallingMethodDetail.FullStack) ; logger.Warning(log2); }
public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup <Startup>() .UseSerilog((ctx, config) => { config.ReadFrom.Configuration(ctx.Configuration); // Ensure HttpContextAccessor is accessible var httpAccessor = ctx.Configuration.Get <HttpContextAccessor>(); // Create a formatter configuration to se this accessor var formatterConfig = new EcsTextFormatterConfiguration(); formatterConfig.MapHttpContext(httpAccessor); // Write events to the console using this configration var formatter = new EcsTextFormatter(formatterConfig); config.WriteTo.Console(formatter); }) .UseKestrel() .Build();