Skip to content

Commit 5b90ca5

Browse files
committed
Add error handling to message formatting
1 parent 8014167 commit 5b90ca5

1 file changed

Lines changed: 18 additions & 1 deletion

File tree

src/Logs/LogsAggregator.php

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,24 @@ public function add(
5757
return;
5858
}
5959

60-
$log = (new Log($timestamp, $this->getTraceId($hub), $level, vsprintf($message, $values)))
60+
$formattedMessage = $message;
61+
62+
if (!empty($values)) {
63+
try {
64+
$formattedMessage = vsprintf($message, $values);
65+
} catch (\ValueError $e) {
66+
// If formatting fails we don't format the message and log the error
67+
if ($sdkLogger !== null) {
68+
$sdkLogger->warning('Failed to format log message with values.', [
69+
'message' => $message,
70+
'values' => $values,
71+
'exception' => $e,
72+
]);
73+
}
74+
}
75+
}
76+
77+
$log = (new Log($timestamp, $this->getTraceId($hub), $level, $formattedMessage))
6178
->setAttribute('sentry.release', $options->getRelease())
6279
->setAttribute('sentry.environment', $options->getEnvironment() ?? Event::DEFAULT_ENVIRONMENT)
6380
->setAttribute('sentry.server.address', $options->getServerName())

0 commit comments

Comments
 (0)