Program.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using System;
  2. using System.IO;
  3. using Microsoft.AspNetCore.Hosting;
  4. using Microsoft.Extensions.Configuration;
  5. using Microsoft.Extensions.Hosting;
  6. using Serilog;
  7. using Serilog.Events;
  8. using Serilog.Sinks.Elasticsearch;
  9. namespace BaseService
  10. {
  11. public class Program
  12. {
  13. public static int Main(string[] args)
  14. {
  15. var configuration = new ConfigurationBuilder()
  16. .SetBasePath(Directory.GetCurrentDirectory())
  17. .AddJsonFile("appsettings.json")
  18. .AddEnvironmentVariables()
  19. .Build();
  20. Log.Logger = new LoggerConfiguration()
  21. .MinimumLevel.Debug()
  22. .MinimumLevel.Override("Microsoft", LogEventLevel.Information)
  23. .Enrich.WithProperty("Application", "BaseService")
  24. .Enrich.FromLogContext()
  25. .WriteTo.File("Logs/logs.txt")
  26. //.WriteTo.Elasticsearch(
  27. // new ElasticsearchSinkOptions(new Uri(configuration["ElasticSearch:Url"]))
  28. // {
  29. // AutoRegisterTemplate = true,
  30. // AutoRegisterTemplateVersion = AutoRegisterTemplateVersion.ESv6,
  31. // IndexFormat = "xdl-log-{0:yyyy.MM}"
  32. // })
  33. .WriteTo.Console()
  34. .CreateLogger();
  35. try
  36. {
  37. Log.Information("Starting BaseService.Host.");
  38. CreateHostBuilder(args).Build().Run();
  39. return 0;
  40. }
  41. catch (Exception ex)
  42. {
  43. Log.Fatal(ex, "BaseService.Host terminated unexpectedly!");
  44. return 1;
  45. }
  46. finally
  47. {
  48. Log.CloseAndFlush();
  49. }
  50. }
  51. internal static IHostBuilder CreateHostBuilder(string[] args) =>
  52. Microsoft.Extensions.Hosting.Host.CreateDefaultBuilder(args)
  53. .ConfigureWebHostDefaults(webBuilder =>
  54. {
  55. webBuilder.UseStartup<Startup>();
  56. })
  57. .UseAutofac()
  58. .UseSerilog();
  59. }
  60. }