Program.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. using System;
  2. using System.IO;
  3. using Business.Core.MongoDBHelper;
  4. using Microsoft.AspNetCore.Hosting;
  5. using Microsoft.Extensions.Configuration;
  6. using Microsoft.Extensions.Hosting;
  7. using NLog.Web;
  8. using Serilog;
  9. using Serilog.Events;
  10. using Serilog.Sinks.Elasticsearch;
  11. namespace Business
  12. {
  13. public class Program
  14. {
  15. public static int Main(string[] args)
  16. {
  17. var configuration = new ConfigurationBuilder()
  18. .SetBasePath(Directory.GetCurrentDirectory())
  19. .AddJsonFile("appsettings.json")
  20. .AddEnvironmentVariables()
  21. .Build();
  22. NLog.Extensions.Logging.ConfigSettingLayoutRenderer.DefaultConfiguration = configuration;
  23. Log.Logger = new LoggerConfiguration()
  24. #if DEBUG
  25. .MinimumLevel.Debug()
  26. #else
  27. .MinimumLevel.Information()
  28. #endif
  29. .MinimumLevel.Override("Microsoft", LogEventLevel.Information)
  30. .Enrich.FromLogContext()
  31. .WriteTo.Async(c => c.File("Logs/logs.txt"))
  32. .WriteTo.Console()
  33. .CreateLogger();
  34. try
  35. {
  36. Log.Information("Starting Business.Host");
  37. CreateHostBuilder(args).Build().Run();
  38. return 0;
  39. }
  40. catch (Exception ex)
  41. {
  42. Log.Fatal(ex, "Host terminated unexpectedly!");
  43. return 1;
  44. }
  45. finally
  46. {
  47. //Log.CloseAndFlush();
  48. NLog.LogManager.Shutdown();
  49. }
  50. }
  51. internal static IHostBuilder CreateHostBuilder(string[] args) =>
  52. Host.CreateDefaultBuilder(args)
  53. .ConfigureWebHostDefaults(webBuilder =>
  54. {
  55. webBuilder.UseStartup<Startup>();
  56. })
  57. .UseAutofac()
  58. //.UseSerilog()
  59. .UseNLog();
  60. }
  61. }