AipDbLoggingService.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using AipGateway.API.Services.Interfaces;
  2. using AipGateway.Messaging.DbLogging;
  3. using AipGateway.Messaging.Models;
  4. namespace AipGateway.API.Services
  5. {
  6. public class AipDbLoggingService : IAipDbLoggingService
  7. {
  8. private readonly AipDbLoggingManager _aipDbLoggingManager = new AipDbLoggingManager();
  9. private readonly ILogger<AipDbLoggingService> _log;
  10. public AipDbLoggingService(ILogger<AipDbLoggingService> log)
  11. {
  12. _log = log;
  13. try
  14. {
  15. _aipDbLoggingManager.InitializeQueue();
  16. }
  17. catch (Exception ex)
  18. {
  19. _log.LogError($"AipDbLoggingService Create Failed: {ex}");
  20. throw new ApplicationException("AipDbLoggingService Create Failed.");
  21. }
  22. }
  23. public void Send(PayloadBase payload)
  24. {
  25. try
  26. {
  27. _aipDbLoggingManager.Send(payload);
  28. }
  29. catch (Exception ex)
  30. {
  31. _log.LogError($"AipDbLoggingService Logging Data Send Failed: {payload}");
  32. _log.LogError($"AipDbLoggingService Logging Data Send Failed: {ex}");
  33. }
  34. }
  35. }
  36. }