MainLogger.cs 947 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using InABox.Core;
  2. namespace InABox.Logging;
  3. public static class MainLogger
  4. {
  5. private static List<LoggerBase> Loggers = new();
  6. public static void AddLogger(LoggerBase logger)
  7. {
  8. Loggers.Add(logger);
  9. }
  10. public static void RemoveLogger(LoggerBase logger)
  11. {
  12. Loggers.Remove(logger);
  13. }
  14. public static void Send(LogType logType, string user, string message, Guid transaction)
  15. {
  16. foreach(var logger in Loggers)
  17. {
  18. try
  19. {
  20. logger.Send(logType, user, message, transaction);
  21. }
  22. catch (Exception e)
  23. {
  24. Logger.Send(LogType.Error, "LOGERROR",
  25. $"Exception in Logger.Send ({e.Message}) Message=[{message}]");
  26. }
  27. }
  28. }
  29. public static void Stop()
  30. {
  31. foreach (var logger in Loggers)
  32. {
  33. logger.Stop();
  34. }
  35. }
  36. }