Skip to content

Commit 4ceaf19

Browse files
xepozzvjik
andauthored
Simplify error log (#113)
Co-authored-by: Sergei Predvoditelev <sergei@predvoditelev.ru>
1 parent d0c86af commit 4ceaf19

File tree

4 files changed

+40
-10
lines changed

4 files changed

+40
-10
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
## 3.2.2 under development
44

5+
- Enh #113: Simplify error log (@xepozz)
56
- Enh #112: Add copy cURL button, sort request headers, fix UI (@xepozz)
67

78
## 3.2.1 March 07, 2024

src/ErrorHandler.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public function handle(
6262
$renderer ??= $this->defaultRenderer;
6363

6464
try {
65-
$this->logger->error((string) (new PlainTextRenderer())->renderVerbose($t, $request), ['throwable' => $t]);
65+
$this->logger->error(PlainTextRenderer::throwableToString($t), ['throwable' => $t]);
6666
return $this->debug ? $renderer->renderVerbose($t, $request) : $renderer->render($t, $request);
6767
} catch (Throwable $t) {
6868
return new ErrorData((string) $t);

src/Renderer/PlainTextRenderer.php

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,26 @@ public function render(Throwable $t, ServerRequestInterface $request = null): Er
2222
public function renderVerbose(Throwable $t, ServerRequestInterface $request = null): ErrorData
2323
{
2424
return new ErrorData(
25-
$t::class . " with message '{$t->getMessage()}' \n\nin "
26-
. $t->getFile() . ':' . $t->getLine() . "\n\n"
27-
. "Stack trace:\n" . $t->getTraceAsString()
25+
self::throwableToString($t)
26+
);
27+
}
28+
29+
public static function throwableToString(Throwable $t): string
30+
{
31+
return sprintf(
32+
<<<TEXT
33+
%s with message "%s"
34+
35+
in %s:%s
36+
37+
Stack trace:
38+
%s
39+
TEXT,
40+
$t::class,
41+
$t->getMessage(),
42+
$t->getFile(),
43+
$t->getLine(),
44+
$t->getTraceAsString()
2845
);
2946
}
3047
}

tests/Renderer/PlainTextRendererTest.php

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,24 @@ public function testRenderVerbose(): void
2222
{
2323
$renderer = new PlainTextRenderer();
2424
$throwable = new RuntimeException();
25-
$data = $renderer->renderVerbose($throwable);
26-
$content = RuntimeException::class . " with message '{$throwable->getMessage()}' \n\nin "
27-
. $throwable->getFile() . ':' . $throwable->getLine() . "\n\n"
28-
. "Stack trace:\n" . $throwable->getTraceAsString()
29-
;
25+
$expectedContent = sprintf(
26+
<<<TEXT
27+
%s with message "%s"
28+
29+
in %s:%s
3030
31-
$this->assertSame($content, (string) $data);
31+
Stack trace:
32+
%s
33+
TEXT,
34+
$throwable::class,
35+
$throwable->getMessage(),
36+
$throwable->getFile(),
37+
$throwable->getLine(),
38+
$throwable->getTraceAsString()
39+
);
40+
41+
$data = $renderer->renderVerbose($throwable);
42+
$this->assertSame($expectedContent, (string) $data);
43+
$this->assertSame($expectedContent, PlainTextRenderer::throwableToString($throwable));
3244
}
3345
}

0 commit comments

Comments
 (0)