using System; using System.Threading.Tasks; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Serilog; using Serilog.Events; namespace Win_in.Sfs.Wms.DataExchange.Agent; 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(); IConfigurationRoot configuration = new ConfigurationBuilder() .AddJsonFile("serilogsettings.json", false, true) .Build(); Log.Logger = new LoggerConfiguration() .ReadFrom.Configuration(configuration) .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(); }); }