From ef8db970f6fbc2d1fdc96658d8ee9ee48a7102d5 Mon Sep 17 00:00:00 2001 From: Deeka Wong <8337659+huangdijia@users.noreply.github.com> Date: Tue, 30 Sep 2025 14:12:37 +0800 Subject: [PATCH 1/7] ref(logs): extract attribute compilation to dedicated method in LogsHandler Extracts the attribute merging logic into a new compileAttributes() method for better organization and readability. The new method properly structures log attributes with namespaced keys (log.context, log.extra, log.channel) while maintaining the existing sentry.origin attribute. --- src/Monolog/LogsHandler.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/Monolog/LogsHandler.php b/src/Monolog/LogsHandler.php index f96a6a5e7..b4dc60d13 100644 --- a/src/Monolog/LogsHandler.php +++ b/src/Monolog/LogsHandler.php @@ -66,7 +66,7 @@ public function handle($record): bool self::getSentryLogLevelFromMonologLevel($record['level']), $record['message'], [], - array_merge($record['context'], $record['extra'], ['sentry.origin' => 'auto.log.monolog']) + $this->compileAttributes($record) ); return $this->bubble === false; @@ -123,4 +123,17 @@ public function __destruct() // Just in case so that the destructor can never fail. } } + + /** + * @param array|LogRecord $record + */ + protected function compileAttributes($record): array + { + return [ + 'log.context' => $record['context'], + 'log.extra' => $record['extra'], + 'log.channel' => $record['channel'], + 'sentry.origin' => 'auto.logger.monolog', + ]; + } } From a20fe761a9e0c7d647129014b53a213545295e10 Mon Sep 17 00:00:00 2001 From: Deeka Wong <8337659+huangdijia@users.noreply.github.com> Date: Thu, 16 Oct 2025 11:52:31 +0800 Subject: [PATCH 2/7] ref(logs): use Arr utility to simplify attribute compilation in compileAttributes method --- src/Monolog/LogsHandler.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Monolog/LogsHandler.php b/src/Monolog/LogsHandler.php index b4dc60d13..ddd0d8de1 100644 --- a/src/Monolog/LogsHandler.php +++ b/src/Monolog/LogsHandler.php @@ -10,6 +10,7 @@ use Monolog\LogRecord; use Sentry\Logs\LogLevel; use Sentry\Logs\Logs; +use Sentry\Util\Arr; class LogsHandler implements HandlerInterface { @@ -130,8 +131,8 @@ public function __destruct() protected function compileAttributes($record): array { return [ - 'log.context' => $record['context'], - 'log.extra' => $record['extra'], + ...Arr::simpleDot(['context' => $record['context']]), + ...Arr::simpleDot(['extra' => $record['extra']]), 'log.channel' => $record['channel'], 'sentry.origin' => 'auto.logger.monolog', ]; From afb5ba578524a55e24cb8d05a1521d4c90f5d2bd Mon Sep 17 00:00:00 2001 From: Deeka Wong <8337659+huangdijia@users.noreply.github.com> Date: Fri, 24 Oct 2025 09:18:41 +0800 Subject: [PATCH 3/7] Replace array spread with array_merge in compileAttributes Updated the compileAttributes method to use array_merge instead of array spread syntax for compatibility and clarity when merging context, extra, and additional attributes. --- src/Monolog/LogsHandler.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/Monolog/LogsHandler.php b/src/Monolog/LogsHandler.php index ddd0d8de1..1b9fbc5ec 100644 --- a/src/Monolog/LogsHandler.php +++ b/src/Monolog/LogsHandler.php @@ -130,11 +130,13 @@ public function __destruct() */ protected function compileAttributes($record): array { - return [ - ...Arr::simpleDot(['context' => $record['context']]), - ...Arr::simpleDot(['extra' => $record['extra']]), - 'log.channel' => $record['channel'], - 'sentry.origin' => 'auto.logger.monolog', - ]; + return array_merge( + Arr::simpleDot(['context' => $record['context']]), + Arr::simpleDot(['extra' => $record['extra']]), + [ + 'log.channel' => $record['channel'], + 'sentry.origin' => 'auto.logger.monolog', + ] + ); } } From d5ee4b2106a24b476b30a672c64ab02770dcc5aa Mon Sep 17 00:00:00 2001 From: Deeka Wong <8337659+huangdijia@users.noreply.github.com> Date: Fri, 24 Oct 2025 09:26:42 +0800 Subject: [PATCH 4/7] Update sentry.origin attribute value Changed the 'sentry.origin' attribute from 'auto.logger.monolog' to 'auto.log.monolog' in the compileAttributes method for consistency or integration requirements. --- src/Monolog/LogsHandler.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Monolog/LogsHandler.php b/src/Monolog/LogsHandler.php index 1b9fbc5ec..56e713013 100644 --- a/src/Monolog/LogsHandler.php +++ b/src/Monolog/LogsHandler.php @@ -135,7 +135,7 @@ protected function compileAttributes($record): array Arr::simpleDot(['extra' => $record['extra']]), [ 'log.channel' => $record['channel'], - 'sentry.origin' => 'auto.logger.monolog', + 'sentry.origin' => 'auto.log.monolog', ] ); } From 00eafe9111267e3814fecd40dee4ae37a4244336 Mon Sep 17 00:00:00 2001 From: Deeka Wong <8337659+huangdijia@users.noreply.github.com> Date: Tue, 28 Oct 2025 13:33:43 +0800 Subject: [PATCH 5/7] Simplify attribute compilation in LogsHandler Refactored the compileAttributes method to merge context and extra arrays directly, removing the use of Arr::simpleDot and the log.channel attribute. --- src/Monolog/LogsHandler.php | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/Monolog/LogsHandler.php b/src/Monolog/LogsHandler.php index 56e713013..4b23ead20 100644 --- a/src/Monolog/LogsHandler.php +++ b/src/Monolog/LogsHandler.php @@ -130,13 +130,6 @@ public function __destruct() */ protected function compileAttributes($record): array { - return array_merge( - Arr::simpleDot(['context' => $record['context']]), - Arr::simpleDot(['extra' => $record['extra']]), - [ - 'log.channel' => $record['channel'], - 'sentry.origin' => 'auto.log.monolog', - ] - ); + return array_merge($record['context'], $record['extra'], ['sentry.origin' => 'auto.log.monolog']); } } From f7afeefb69e32ee179622074676b730352813aa4 Mon Sep 17 00:00:00 2001 From: Deeka Wong <8337659+huangdijia@users.noreply.github.com> Date: Sat, 1 Nov 2025 16:39:09 +0800 Subject: [PATCH 6/7] ref(logs): remove unused Arr utility import and improve compileAttributes docblock --- src/Monolog/LogsHandler.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Monolog/LogsHandler.php b/src/Monolog/LogsHandler.php index 4b23ead20..daa270e5b 100644 --- a/src/Monolog/LogsHandler.php +++ b/src/Monolog/LogsHandler.php @@ -10,7 +10,6 @@ use Monolog\LogRecord; use Sentry\Logs\LogLevel; use Sentry\Logs\Logs; -use Sentry\Util\Arr; class LogsHandler implements HandlerInterface { @@ -126,7 +125,8 @@ public function __destruct() } /** - * @param array|LogRecord $record + * @param array|LogRecord $record + * @return array */ protected function compileAttributes($record): array { From 26e921aedc27fbf28e5bfac8fcdb25b1e8adbc5e Mon Sep 17 00:00:00 2001 From: Deeka Wong Date: Mon, 3 Nov 2025 19:00:27 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20LogsHandler.php?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Monolog/LogsHandler.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Monolog/LogsHandler.php b/src/Monolog/LogsHandler.php index daa270e5b..9ee342a4f 100644 --- a/src/Monolog/LogsHandler.php +++ b/src/Monolog/LogsHandler.php @@ -126,6 +126,7 @@ public function __destruct() /** * @param array|LogRecord $record + * * @return array */ protected function compileAttributes($record): array