Monolog.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Logger;
  7. use Monolog\Logger;
  8. class Monolog extends Logger
  9. {
  10. /**
  11. * {@inheritdoc}
  12. */
  13. public function __construct($name, array $handlers = [], array $processors = [])
  14. {
  15. /**
  16. * TODO: This should be eliminated with MAGETWO-53989
  17. */
  18. $handlers = array_values($handlers);
  19. parent::__construct($name, $handlers, $processors);
  20. }
  21. /**
  22. * Adds a log record.
  23. *
  24. * @param integer $level The logging level
  25. * @param string $message The log message
  26. * @param array $context The log context
  27. * @return Boolean Whether the record has been processed
  28. */
  29. public function addRecord($level, $message, array $context = [])
  30. {
  31. /**
  32. * To preserve compatibility with Exception messages.
  33. * And support PSR-3 context standard.
  34. *
  35. * @link http://www.php-fig.org/psr/psr-3/#context PSR-3 context standard
  36. */
  37. if ($message instanceof \Exception && !isset($context['exception'])) {
  38. $context['exception'] = $message;
  39. }
  40. $message = $message instanceof \Exception ? $message->getMessage() : $message;
  41. return parent::addRecord($level, $message, $context);
  42. }
  43. }