AipDbLoggingService.cs 1.1 KB

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