diff --git a/lib/private/Log.php b/lib/private/Log.php index 6b97a3a028..a41c728df0 100644 --- a/lib/private/Log.php +++ b/lib/private/Log.php @@ -352,7 +352,7 @@ class Log implements ILogger { $msg .= ': ' . json_encode($data); $this->log($level, $msg, $context); if (!is_null($this->crashReporters)) { - $this->crashReporters->delegateReport($exception); + $this->crashReporters->delegateReport($exception, $context); } } diff --git a/lib/private/Support/CrashReport/Registry.php b/lib/private/Support/CrashReport/Registry.php index bdf18b492f..670cea3da0 100644 --- a/lib/private/Support/CrashReport/Registry.php +++ b/lib/private/Support/CrashReport/Registry.php @@ -45,10 +45,12 @@ class Registry implements IRegistry { * Delegate crash reporting to all registered reporters * * @param Exception|Throwable $exception + * @param array $context */ - public function delegateReport($exception) { + public function delegateReport($exception, array $context = []) { + /** @var IReporter $reporter */ foreach ($this->reporters as $reporter) { - $reporter->report($exception); + $reporter->report($exception, $context); } } diff --git a/lib/public/Support/CrashReport/IRegistry.php b/lib/public/Support/CrashReport/IRegistry.php index 66c527092b..62432c782a 100644 --- a/lib/public/Support/CrashReport/IRegistry.php +++ b/lib/public/Support/CrashReport/IRegistry.php @@ -43,6 +43,7 @@ interface IRegistry { * * @since 13.0.0 * @param Exception|Throwable $exception + * @param array $context */ - public function delegateReport($exception); + public function delegateReport($exception, array $context = []); } diff --git a/lib/public/Support/CrashReport/IReporter.php b/lib/public/Support/CrashReport/IReporter.php index 03c4f47e3b..4700f275df 100644 --- a/lib/public/Support/CrashReport/IReporter.php +++ b/lib/public/Support/CrashReport/IReporter.php @@ -35,6 +35,7 @@ interface IReporter { * * @since 13.0.0 * @param Exception|Throwable $exception + * @param array $context */ - public function report($exception); + public function report($exception, array $context = []); } diff --git a/tests/lib/LoggerTest.php b/tests/lib/LoggerTest.php index 76f33849de..54336da105 100644 --- a/tests/lib/LoggerTest.php +++ b/tests/lib/LoggerTest.php @@ -90,7 +90,7 @@ class LoggerTest extends TestCase { $e = new \Exception('test'); $this->registry->expects($this->once()) ->method('delegateReport') - ->with($e); + ->with($e, []); $this->logger->logException($e); @@ -109,7 +109,7 @@ class LoggerTest extends TestCase { $e = new \Exception('test'); $this->registry->expects($this->once()) ->method('delegateReport') - ->with($e); + ->with($e, []); $this->logger->logException($e); @@ -128,7 +128,7 @@ class LoggerTest extends TestCase { $e = new \Exception('test'); $this->registry->expects($this->once()) ->method('delegateReport') - ->with($e); + ->with($e, []); $this->logger->logException($e); @@ -147,7 +147,7 @@ class LoggerTest extends TestCase { $e = new \Exception('test'); $this->registry->expects($this->once()) ->method('delegateReport') - ->with($e); + ->with($e, []); $this->logger->logException($e);