public static int Main(string[] args) { Log.Logger = new LoggerConfiguration() .MinimumLevel.Debug() .MinimumLevel.Override("Microsoft", LogEventLevel.Warning) .MinimumLevel.Override("Microsoft.Hosting.Lifetime", LogEventLevel.Information) .MinimumLevel.Override("System", LogEventLevel.Warning) .MinimumLevel.Override("Microsoft.AspNetCore.Authentication", LogEventLevel.Information) .Enrich.FromLogContext() // uncomment to write to Azure diagnostics stream //.WriteTo.File( // @"D:\home\LogFiles\Application\identityserver.txt", // fileSizeLimitBytes: 1_000_000, // rollOnFileSizeLimit: true, // shared: true, // flushToDiskInterval: TimeSpan.FromSeconds(1)) .WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss} {Level}] {SourceContext}{NewLine}{Message:lj}{NewLine}{Exception}{NewLine}", theme: AnsiConsoleTheme.Code) .CreateLogger(); try { var seed = args.Contains("/seed"); if (seed) { args = args.Except(new[] { "/seed" }).ToArray(); } var host = CreateHostBuilder(args).Build(); if (seed) { Log.Information("Seeding database..."); var config = host.Services.GetRequiredService <IConfiguration>(); var env = host.Services.GetRequiredService <IWebHostEnvironment>(); string connectionString = ""; if (env.IsDevelopment()) { connectionString = config.GetConnectionString("DefaultConnection"); } else { connectionString = ConnectionUri.Convert(Environment.GetEnvironmentVariable("DATABASE_URL")); } SeedData.EnsureSeedData(connectionString); Log.Information("Done seeding database."); return(0); } Log.Information("Starting host..."); host.Run(); return(0); } catch (Exception ex) { Log.Fatal(ex, "Host terminated unexpectedly."); return(1); } finally { Log.CloseAndFlush(); } }
private void InitializeDatabase(IApplicationBuilder app) { SeedData.EnsureSeedDataUsers(app.ApplicationServices); SeedData.EnsureSeedData(Configuration.GetConnectionString("DefaultConnection")); }