AddLogServcie.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using Microsoft.Extensions.Hosting;
  2. using Microsoft.Extensions.Logging;
  3. using NLog.Extensions.Logging;
  4. using NLog.Web;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. namespace EVCB_OCPP.WSServer.Helper
  11. {
  12. public static class AddLogServcieExtention
  13. {
  14. public static IHostBuilder AddLogServcie(this IHostBuilder hostBuilder)
  15. {
  16. string loggerSelectString = "";
  17. hostBuilder.ConfigureLogging((context, loggingBuilder) => {
  18. loggerSelectString = context.Configuration["LogProvider"];
  19. loggingBuilder.ClearProviders();
  20. if (loggerSelectString == "Azure")
  21. {
  22. loggingBuilder.AddAzureWebAppDiagnostics();
  23. return;
  24. }
  25. if (loggerSelectString == "Console")
  26. {
  27. loggingBuilder.AddConsole();
  28. return;
  29. }
  30. NLog.LogManager.Configuration = new NLogLoggingConfiguration(context.Configuration.GetSection("NLog"));
  31. });
  32. if (loggerSelectString != "Azure")
  33. {
  34. hostBuilder.UseNLog();
  35. }
  36. return hostBuilder;
  37. }
  38. }
  39. }