using System; using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Serilog; using Serilog.Events; namespace Win_in.Sfs.Wms.DataExchange.Iac.QadAgent; public class Program { public static async Task Main(string[] args) { Log.Logger = new LoggerConfiguration() #if DEBUG .MinimumLevel.Debug() #else .MinimumLevel.Information() #endif .MinimumLevel.Override("Microsoft", LogEventLevel.Information) .Enrich.FromLogContext() .WriteTo.Async(c => c.File("Logs/logs.txt")) .WriteTo.Async(c => c.Console()) .CreateLogger(); try { Log.Information("Starting console host."); await CreateHostBuilder(args).RunConsoleAsync().ConfigureAwait(false); return 0; } catch (Exception ex) { Log.Fatal(ex, "Host terminated unexpectedly!"); return 1; } finally { Log.CloseAndFlush(); } } internal static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .UseAutofac() .UseSerilog() .ConfigureAppConfiguration((context, config) => { //setup your additional configuration sources }) .ConfigureServices((hostContext, services) => { services.AddApplication(); }); }