You are here

public function RavenCommands::captureMessage in Raven: Sentry Integration 8.2

Same name and namespace in other branches
  1. 3.x src/Commands/RavenCommands.php \Drupal\raven\Commands\RavenCommands::captureMessage()

Send a test message to Sentry.

Because messages are sent to Sentry asynchronously, there is no guarantee that the message was actually delivered successfully.

@option level The message level (debug, info, warning, error, fatal). @option logger The logger.

@command raven:captureMessage @usage drush raven:captureMessage Send test message to Sentry. @usage drush raven:captureMessage --level=error --logger=foobar Send error message of type "foobar" to Sentry. @usage drush raven:captureMessage 'Mic check.' Send "Mic check" message to Sentry.

Parameters

string $message: The message text.

array $options: An associative array of options.

File

src/Commands/RavenCommands.php, line 51

Class

RavenCommands
Provides Drush commands for Raven module.

Namespace

Drupal\raven\Commands

Code

public function captureMessage($message = 'Test message from Drush.', array $options = [
  'level' => 'info',
  'logger' => 'drush',
]) {
  if (!$this->ravenLogger) {
    throw new \Exception('Raven logger service not available.');
  }
  if (!$this->ravenLogger->client) {
    throw new \Exception('Raven client not available.');
  }
  $id = $this->ravenLogger->client
    ->captureMessage($message, [], [
    'level' => $options['level'],
    'logger' => $options['logger'],
  ]);
  if (!$id) {
    throw new \Exception('Send failed.');
  }
  if (method_exists($this
    ->logger(), 'success')) {
    $this
      ->logger()
      ->success(dt('Message sent as event %id.', [
      '%id' => $id,
    ]));
  }
}