diff --git a/Classes/Command/SentryCommandController.php b/Classes/Command/SentryCommandController.php
index a95f7c8..05cd3fc 100644
--- a/Classes/Command/SentryCommandController.php
+++ b/Classes/Command/SentryCommandController.php
@@ -77,7 +77,7 @@ public function testCommand(string $mode = self::TEST_MODE_THROW): void
private function captureMessage(): void
{
- $eventId = $this->sentryClient->captureMessage(
+ $captureResult = $this->sentryClient->captureMessage(
'Flownative Sentry Plugin Test',
Severity::debug(),
[
@@ -86,7 +86,11 @@ private function captureMessage(): void
);
$this->outputLine();
- $this->outputLine('An informational message was sent to Sentry Event ID: #%s', [$eventId]);
+ if ($captureResult->suceess) {
+ $this->outputLine('An informational message was sent to Sentry Event ID: #%s', [$captureResult->eventId]);
+ } else {
+ $this->outputLine('Sending an informational message to Sentry failed: %s', [$captureResult->message]);
+ }
$this->outputLine();
}
diff --git a/Classes/SentryClient.php b/Classes/SentryClient.php
index e0e4682..9851823 100644
--- a/Classes/SentryClient.php
+++ b/Classes/SentryClient.php
@@ -222,38 +222,28 @@ public function captureThrowable(Throwable $throwable, array $extraData = [], ar
);
}
- public function captureMessage(string $message, Severity $severity, array $extraData = [], array $tags = []): ?EventId
+ public function captureMessage(string $message, Severity $severity, array $extraData = [], array $tags = []): CaptureResult
{
if (empty($this->dsn)) {
- if ($this->logger) {
- $this->logger->warning('Sentry: Failed capturing message, because no Sentry DSN was set. Please check your settings.');
- }
- return null;
- }
-
- if (preg_match('/Sentry: [0-9a-f]{32}/', $message) === 1) {
- return null;
+ return new CaptureResult(
+ false,
+ 'Failed capturing message, because no Sentry DSN was set. Please check your settings.',
+ ''
+ );
}
+ $this->setTags();
$this->configureScope($extraData, $tags);
$eventHint = EventHint::fromArray([
'stacktrace' => $this->prepareStacktrace()
]);
- $this->setTags();
- $sentryEventId = \Sentry\captureMessage($message, $severity, $eventHint);
-
- if ($this->logger) {
- $this->logger->log(
- (string)$severity,
- sprintf(
- '%s (Sentry: %s)',
- $message,
- $sentryEventId
- )
- );
- }
+ $sentryEventId = SentrySdk::getCurrentHub()->captureMessage($message, $severity, $eventHint);
- return $sentryEventId;
+ return new CaptureResult(
+ true,
+ $message,
+ (string)$sentryEventId
+ );
}
private function configureScope(array $extraData, array $tags): void