| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- using System;
- using System.IO;
- using Microsoft.AspNetCore.Hosting;
- using Microsoft.Extensions.Configuration;
- using Microsoft.Extensions.Hosting;
- using Serilog;
- using Serilog.Events;
- using Serilog.Sinks.Elasticsearch;
- namespace WebAppGateway
- {
- public class Program
- {
- public static int Main(string[] args)
- {
- var configuration = new ConfigurationBuilder()
- .SetBasePath(Directory.GetCurrentDirectory())
- .AddJsonFile("appsettings.json")
- .AddEnvironmentVariables()
- .Build();
- 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.Elasticsearch(
- new ElasticsearchSinkOptions(new Uri(configuration["ElasticSearch:Url"]))
- {
- AutoRegisterTemplate = true,
- AutoRegisterTemplateVersion = AutoRegisterTemplateVersion.ESv6,
- IndexFormat = "msdemo-log-{0:yyyy.MM}"
- })
- .WriteTo.Console()
- .CreateLogger();
- try
- {
- Log.Information("Starting WebAppGateway.Host");
- CreateHostBuilder(args).Build().Run();
- 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)
- .ConfigureWebHostDefaults(webBuilder =>
- {
- webBuilder.UseStartup<Startup>();
- })
- .UseAutofac()
- .UseSerilog();
- }
- }
|