Skip to content

Commit c8d9d91

Browse files
committed
include context no matter if with or without exception
1 parent b9f8751 commit c8d9d91

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed

src/Formatters/GithubIssueFormatter.php

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Naoray\LaravelGithubMonolog\Formatters;
44

5+
use Illuminate\Support\Arr;
56
use Illuminate\Support\Collection;
67
use Illuminate\Support\Str;
78
use Illuminate\Support\Stringable;
@@ -54,7 +55,7 @@ public function formatBatch(array $records): array
5455
private function generateSignature(LogRecord $record, ?Throwable $exception): string
5556
{
5657
if (! $exception) {
57-
return md5($record->message.json_encode($record->context));
58+
return md5($record->message . json_encode($record->context));
5859
}
5960

6061
$trace = $exception->getTrace();
@@ -64,7 +65,7 @@ private function generateSignature(LogRecord $record, ?Throwable $exception): st
6465
$exception::class,
6566
$exception->getFile(),
6667
$exception->getLine(),
67-
$firstFrame ? ($firstFrame['file'] ?? '').':'.($firstFrame['line'] ?? '') : '',
68+
$firstFrame ? ($firstFrame['file'] ?? '') . ':' . ($firstFrame['line'] ?? '') : '',
6869
]));
6970
}
7071

@@ -110,7 +111,7 @@ private function formatTitle(LogRecord $record, ?Throwable $exception = null): s
110111
private function formatContent(LogRecord $record, ?Throwable $exception): string
111112
{
112113
return Str::of('')
113-
->when($record->message, fn ($str, $message) => $str->append("**Message:**\n{$message}\n\n"))
114+
->when($record->message, fn($str, $message) => $str->append("**Message:**\n{$message}\n\n"))
114115
->when(
115116
$exception,
116117
function (Stringable $str, Throwable $exception) {
@@ -120,8 +121,8 @@ function (Stringable $str, Throwable $exception) {
120121
);
121122
}
122123
)
123-
->when(! $exception && ! empty($record->context), fn ($str, $context) => $str->append("**Context:**\n```json\n".json_encode($record->context, JSON_PRETTY_PRINT)."\n```\n\n"))
124-
->when(! empty($record->extra), fn ($str, $extra) => $str->append("**Extra Data:**\n```json\n".json_encode($record->extra, JSON_PRETTY_PRINT)."\n```\n"))
124+
->when(! empty($record->context), fn($str, $context) => $str->append("**Context:**\n```json\n" . json_encode(Arr::except($record->context, ['exception']), JSON_PRETTY_PRINT) . "\n```\n\n"))
125+
->when(! empty($record->extra), fn($str, $extra) => $str->append("**Extra Data:**\n```json\n" . json_encode($record->extra, JSON_PRETTY_PRINT) . "\n```\n"))
125126
->toString();
126127
}
127128

@@ -141,7 +142,7 @@ private function formatBody(LogRecord $record, string $signature, ?Throwable $ex
141142
private function cleanStackTrace(string $stackTrace): string
142143
{
143144
return collect(explode("\n", $stackTrace))
144-
->filter(fn ($line) => ! empty(trim($line)))
145+
->filter(fn($line) => ! empty(trim($line)))
145146
->map(function ($line) {
146147
if (trim($line) === '"}') {
147148
return '';
@@ -217,8 +218,8 @@ private function formatExceptionDetails(Throwable $exception): array
217218

218219
return [
219220
'message' => $exception->getMessage(),
220-
'stack_trace' => $header."\n[stacktrace]\n".$this->cleanStackTrace($exception->getTraceAsString()),
221-
'full_stack_trace' => $header."\n[stacktrace]\n".$exception->getTraceAsString(),
221+
'stack_trace' => $header . "\n[stacktrace]\n" . $this->cleanStackTrace($exception->getTraceAsString()),
222+
'full_stack_trace' => $header . "\n[stacktrace]\n" . $exception->getTraceAsString(),
222223
];
223224
}
224225

tests/Formatters/GithubIssueFormatterTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@
7171
channel: 'test',
7272
level: Level::Error,
7373
message: 'Test message',
74-
context: ['user_id' => 123, 'action' => 'login'],
74+
context: ['user_id' => 123, 'action' => 'login', 'exception' => new RuntimeException('Test exception')],
7575
extra: []
7676
);
7777

0 commit comments

Comments
 (0)