Merge pull request #7166 from nextcloud/enhancement/crash-report-context

Pass the exception context to the crash reporter
This commit is contained in:
Morris Jobke 2017-11-14 15:07:33 +01:00 committed by GitHub
commit 16549ae5fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 13 additions and 9 deletions

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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 = []);
}

View File

@ -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 = []);
}

View File

@ -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);