ReportApplicationHandledExceptionToNewRelic.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\NewRelicReporting\Model\Observer;
  7. use Magento\Framework\Event\Observer;
  8. use Magento\Framework\Event\ObserverInterface;
  9. use Magento\NewRelicReporting\Model\Config;
  10. use Magento\NewRelicReporting\Model\NewRelicWrapper;
  11. /**
  12. * Class ReportApplicationHandledExceptionToNewRelic
  13. */
  14. class ReportApplicationHandledExceptionToNewRelic implements ObserverInterface
  15. {
  16. /**
  17. * @var Config
  18. */
  19. private $config;
  20. /**
  21. * @var NewRelicWrapper
  22. */
  23. private $newRelicWrapper;
  24. /**
  25. * @param Config $config
  26. * @param NewRelicWrapper $newRelicWrapper
  27. */
  28. public function __construct(
  29. Config $config,
  30. NewRelicWrapper $newRelicWrapper
  31. ) {
  32. $this->config = $config;
  33. $this->newRelicWrapper = $newRelicWrapper;
  34. }
  35. /**
  36. * @param Observer $observer
  37. */
  38. public function execute(Observer $observer)
  39. {
  40. if ($this->config->isNewRelicEnabled()) {
  41. $exception = $observer->getEvent()->getException();
  42. $this->newRelicWrapper->reportError($exception);
  43. }
  44. }
  45. }