diff --git a/lib/private/Log.php b/lib/private/Log.php index 6b97a3a028e1a59deb0da5adc7946a69ea73f28c..a41c728df0d8b49f3e549b6cfa54f254cc70f65c 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 bdf18b492fd26757ba6f64c957d6e3997bb29d89..e90e82958d12853afa77640f796cb3b2a5de49c0 100644 --- a/lib/private/Support/CrashReport/Registry.php +++ b/lib/private/Support/CrashReport/Registry.php @@ -45,10 +45,11 @@ 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 = []) { 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 66c527092bbaec7299aa5b20f627c9fe405f5014..62432c782ab66d0b129f1433c4ac629c27027ef8 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 03c4f47e3b2598fad32fb91dee8cdaf9b840006e..4700f275df41dfad3e5649dd397f99f55a0270c4 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 76f33849deb6eec6feefe98e19488316ee19eaa9..54336da105c212cc6eaf7e1b8037b88b47c96ba4 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);