public static void ConfigureLogging() { var date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); var logFile = Path.Combine("logs", $"log-itinero-{date}.txt"); Log.Logger = new LoggerConfiguration() .MinimumLevel.Debug() .MinimumLevel.Override("Microsoft", Serilog.Events.LogEventLevel.Verbose) .Enrich.FromLogContext() .WriteTo.File(new JsonFormatter(), logFile) .WriteTo.Console() .CreateLogger(); Log.Information($"Logging has started. Logfile can be found at {logFile}"); Logger.LogAction = (o, level, message, parameters) => { if (string.Equals(level, TraceEventType.Error.ToString(), StringComparison.CurrentCultureIgnoreCase)) { Log.Error($"{message}"); } else if (string.Equals(level, TraceEventType.Warning.ToString(), StringComparison.CurrentCultureIgnoreCase)) { Log.Warning($"{message}"); } else if (string.Equals(level, TraceEventType.Information.ToString(), StringComparison.CurrentCultureIgnoreCase)) { Log.Information($"{message}"); } else if (string.Equals(level, TraceEventType.Verbose.ToString(), StringComparison.CurrentCultureIgnoreCase)) { Log.Verbose($"{message}"); } else { Log.Information($"{level} (unknown log level): {message}"); } }; }