using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Logging; using Microsoft.Extensions.DependencyInjection; using Serilog; namespace OcelotApiGw { public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) { IWebHostBuilder builder = WebHost.CreateDefaultBuilder(args); builder.ConfigureServices(s => s.AddSingleton(builder)) .ConfigureAppConfiguration(ic => ic.AddJsonFile(Path.Combine("configuration", "configuration.json"))) .UseStartup() .ConfigureLogging((hostingContext, loggingbuilder) => { loggingbuilder.AddConfiguration(hostingContext.Configuration.GetSection("Logging")); loggingbuilder.AddConsole(); loggingbuilder.AddDebug(); }) .UseSerilog((builderContext, config) => { config .MinimumLevel.Information() .Enrich.FromLogContext() .WriteTo.Console(); }); IWebHost host = builder.Build(); return host; } } }