From 4ba95921f6b09e775b7a048a49265260c7118177 Mon Sep 17 00:00:00 2001 From: Andreas Sundqvist Date: Wed, 16 Jul 2025 09:48:56 +0200 Subject: [PATCH 1/2] Add formatter that is optimized for DD ingress --- src/Formatter/DataDogFormatter.php | 75 ++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 src/Formatter/DataDogFormatter.php diff --git a/src/Formatter/DataDogFormatter.php b/src/Formatter/DataDogFormatter.php new file mode 100644 index 0000000..157d2e1 --- /dev/null +++ b/src/Formatter/DataDogFormatter.php @@ -0,0 +1,75 @@ +context; + + if (isset($data['context']['error.kind'])) { + $data['error'] = [ + 'message' => $data['context']['error.message'], + 'stack' => $data['context']['error.stack'], + 'kind' => $data['context']['error.kind'], + ]; + unset($data['context']['error.kind'], $data['context']['error.message'], $data['context']['error.stack']); + } + elseif (isset($context['exception']) && $context['exception'] instanceof \Throwable) { + $data['error'] = [ + 'message' => $context['exception']->getMessage(), + 'stack' => $context['exception']->getTraceAsString(), + 'kind' => $context['exception']::class, + ]; + unset($data['context']['exception']); + } + + $data['source'] = 'php'; + if (!isset($data['ddsource'])) { + $data['ddsource'] = $data['source']; + } + if (!isset($data['ddtags']) && isset($context['ddtags'])) { + $data['ddtags'] = $context['ddtags']; + } + if (isset($context['traceId'])) { + $data['dd']['trace_id'] = $context['traceId']; + } + if (isset($record->extra['version'])) { + $data['dd']['version'] = $record->extra['version']; + } + if (!isset($data['logger'])) { + $data['logger'] = [ + 'channel' => $record->channel, + 'message' => $record->message, + ]; + } + + return $data; + } +} From 60889e38c589f83868fd834d841e5cec6dbe8585 Mon Sep 17 00:00:00 2001 From: Andreas Sundqvist Date: Thu, 27 Nov 2025 12:35:17 +0100 Subject: [PATCH 2/2] Bump bref version --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 858be5b..0c5bd69 100644 --- a/composer.json +++ b/composer.json @@ -23,7 +23,7 @@ "psr/http-server-middleware": "^1.0", "phpstan/phpstan": "^1.0", "symfony/console": "^6.0", - "bref/bref": "^1.0 || ^2.0" + "bref/bref": "^1.7.47 || ^2.4.1" }, "autoload": { "psr-4": {