using Serilog; using Serilog.Events; namespace DemoApp; public class Program { public async static Task Main(string[] args) { Log.Logger = new LoggerConfiguration() .MinimumLevel.Debug() .MinimumLevel.Override("Microsoft", LogEventLevel.Information) .MinimumLevel.Override("Microsoft.EntityFrameworkCore", LogEventLevel.Warning) .WriteTo.Async(c => c.Console()) .CreateLogger(); try { var builder = WebApplication.CreateBuilder(args); builder.Host.AddAppSettingsSecretsJson() .UseAutofac() .UseSerilog(); await builder.AddApplicationAsync(); var app = builder.Build(); await app.InitializeApplicationAsync(); Log.Information("Starting DemoApp."); await app.RunAsync(); return 0; } catch (Exception ex) { if (ex is HostAbortedException) { throw; } Log.Fatal(ex, "DemoApp terminated unexpectedly!"); return 1; } finally { Log.CloseAndFlush(); } } }