Legacy logger: be less noisy on cli (no double logging and oneliners)
This commit is contained in:
parent
00f4afa2ab
commit
8438b8dc51
|
@ -14,6 +14,10 @@ class Legacy implements HandlerInterface
|
|||
|
||||
public function render(Request $request, Throwable $e): void
|
||||
{
|
||||
if ($this->isCli()) {
|
||||
return;
|
||||
}
|
||||
|
||||
echo 'An <del>un</del>expected error occurred. A team of untrained monkeys has been dispatched to fix it.';
|
||||
}
|
||||
|
||||
|
@ -27,7 +31,7 @@ class Legacy implements HandlerInterface
|
|||
$this->stripBasePath($e->getFile()),
|
||||
$e->getLine(),
|
||||
$previous ? $previous->getMessage() : 'None',
|
||||
json_encode($e->getTrace(), PHP_SAPI == 'cli' ? JSON_PRETTY_PRINT : 0)
|
||||
json_encode($e->getTrace())
|
||||
));
|
||||
|
||||
if (is_null($this->log)) {
|
||||
|
@ -50,4 +54,13 @@ class Legacy implements HandlerInterface
|
|||
$basePath = realpath(__DIR__ . '/../../..') . '/';
|
||||
return str_replace($basePath, '', $path);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test if is called from cli
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
protected function isCli(): bool
|
||||
{
|
||||
return PHP_SAPI == 'cli' || PHP_SAPI == 'phpdbg';
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,14 +19,23 @@ class LegacyTest extends TestCase
|
|||
*/
|
||||
public function testRender(): void
|
||||
{
|
||||
$handler = new Legacy();
|
||||
/** @var Legacy|MockObject $handler */
|
||||
$handler = $this->getMockBuilder(Legacy::class)
|
||||
->onlyMethods(['isCli'])
|
||||
->getMock();
|
||||
/** @var Request|MockObject $request */
|
||||
$request = $this->createMock(Request::class);
|
||||
/** @var Exception|MockObject $exception */
|
||||
$exception = $this->createMock(Exception::class);
|
||||
|
||||
$this->expectOutputRegex('/.*error occurred.*/i');
|
||||
$handler->expects($this->exactly(2))
|
||||
->method('isCli')
|
||||
->willReturnOnConsecutiveCalls(false, true);
|
||||
|
||||
$this->expectOutputRegex('/.*error occurred.*/i');
|
||||
$handler->render($request, $exception);
|
||||
|
||||
// As CLI
|
||||
$handler->render($request, $exception);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue