LoggerExtensions.cs 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using System;
  2. using Castle.Core.Logging;
  3. namespace Abp.Logging
  4. {
  5. /// <summary>
  6. /// Extensions for <see cref="ILogger"/>.
  7. /// </summary>
  8. public static class LoggerExtensions
  9. {
  10. public static void Log(this ILogger logger, LogSeverity severity, string message)
  11. {
  12. switch (severity)
  13. {
  14. case LogSeverity.Fatal:
  15. logger.Fatal(message);
  16. break;
  17. case LogSeverity.Error:
  18. logger.Error(message);
  19. break;
  20. case LogSeverity.Warn:
  21. logger.Warn(message);
  22. break;
  23. case LogSeverity.Info:
  24. logger.Info(message);
  25. break;
  26. case LogSeverity.Debug:
  27. logger.Debug(message);
  28. break;
  29. default:
  30. throw new AbpException("Unknown LogSeverity value: " + severity);
  31. }
  32. }
  33. public static void Log(this ILogger logger, LogSeverity severity, string message, Exception exception)
  34. {
  35. switch (severity)
  36. {
  37. case LogSeverity.Fatal:
  38. logger.Fatal(message, exception);
  39. break;
  40. case LogSeverity.Error:
  41. logger.Error(message, exception);
  42. break;
  43. case LogSeverity.Warn:
  44. logger.Warn(message, exception);
  45. break;
  46. case LogSeverity.Info:
  47. logger.Info(message, exception);
  48. break;
  49. case LogSeverity.Debug:
  50. logger.Debug(message, exception);
  51. break;
  52. default:
  53. throw new AbpException("Unknown LogSeverity value: " + severity);
  54. }
  55. }
  56. public static void Log(this ILogger logger, LogSeverity severity, Func<string> messageFactory)
  57. {
  58. switch (severity)
  59. {
  60. case LogSeverity.Fatal:
  61. logger.Fatal(messageFactory);
  62. break;
  63. case LogSeverity.Error:
  64. logger.Error(messageFactory);
  65. break;
  66. case LogSeverity.Warn:
  67. logger.Warn(messageFactory);
  68. break;
  69. case LogSeverity.Info:
  70. logger.Info(messageFactory);
  71. break;
  72. case LogSeverity.Debug:
  73. logger.Debug(messageFactory);
  74. break;
  75. default:
  76. throw new AbpException("Unknown LogSeverity value: " + severity);
  77. }
  78. }
  79. }
  80. }