0
0

Program.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using System;
  2. using Microsoft.AspNetCore.Hosting;
  3. using Microsoft.Extensions.Hosting;
  4. using Microsoft.Extensions.Logging;
  5. using NLog.Web;
  6. using Autofac.Extensions.DependencyInjection;
  7. using Admin.Core.Common.Helpers;
  8. using Admin.Core.Common.Configs;
  9. using LogLevel = Microsoft.Extensions.Logging.LogLevel;
  10. using Microsoft.Extensions.Configuration;
  11. //using NLog;
  12. //using NLog.Extensions.Logging;
  13. //using EnvironmentName = Microsoft.AspNetCore.Hosting.EnvironmentName;
  14. namespace Admin.Core
  15. {
  16. public class Program
  17. {
  18. public static void Main(string[] args)
  19. {
  20. Console.WriteLine("launching...");
  21. CreateHostBuilder(args).Build().Run();
  22. }
  23. public static IHostBuilder CreateHostBuilder(string[] args)
  24. {
  25. //使用logconfig.json配置,默认使用nlog.config
  26. //var logConfig = new ConfigHelper().Load("logconfig", reloadOnChange: true).GetSection("nLog");
  27. //LogManager.Configuration = new NLogLoggingConfiguration(logConfig);
  28. var appConfig = new ConfigHelper().Get<AppConfig>("appconfig") ?? new AppConfig();
  29. return Host.CreateDefaultBuilder(args)
  30. .UseServiceProviderFactory(new AutofacServiceProviderFactory())
  31. .ConfigureWebHostDefaults(webBuilder =>
  32. {
  33. webBuilder
  34. //.UseEnvironment(EnvironmentName.Production)
  35. .UseStartup<Startup>()
  36. .ConfigureAppConfiguration((host, config) =>
  37. {
  38. if (appConfig.RateLimit)
  39. {
  40. config.AddJsonFile("./configs/ratelimitconfig.json", optional: true, reloadOnChange: true)
  41. #if DEBUG
  42. .AddJsonFile("./configs/ratelimitconfig.Development.json", false)
  43. #endif
  44. ;
  45. }
  46. })
  47. .UseUrls(appConfig.Urls);
  48. })
  49. .ConfigureLogging(logging =>
  50. {
  51. logging.ClearProviders();
  52. logging.SetMinimumLevel(LogLevel.Trace);
  53. })
  54. .UseNLog();
  55. }
  56. }
  57. }