class RavenCommands in Raven: Sentry Integration 3.x
Same name and namespace in other branches
- 8.2 src/Commands/RavenCommands.php \Drupal\raven\Commands\RavenCommands
Provides Drush commands for Raven module.
Hierarchy
- class \Drupal\raven\Commands\RavenCommands extends \Drush\Commands\DrushCommands
Expanded class hierarchy of RavenCommands
1 string reference to 'RavenCommands'
1 service uses RavenCommands
File
- src/
Commands/ RavenCommands.php, line 12
Namespace
Drupal\raven\CommandsView source
class RavenCommands extends DrushCommands {
/**
* The @logger.raven service.
*
* @var \Drupal\raven\Logger\Raven|null
*/
protected $ravenLogger;
/**
* Injects Raven logger service.
*/
public function setRavenLogger(Raven $raven_logger) {
$this->ravenLogger = $raven_logger;
}
/**
* Send a test message to Sentry.
*
* Because messages are sent to Sentry asynchronously, there is no guarantee
* that the message was actually delivered successfully.
*
* @param string $message
* The message text.
* @param array $options
* An associative array of options.
*
* @option level
* The message level (debug, info, warning, error, fatal).
*
* @command raven:captureMessage
* @usage drush raven:captureMessage
* Send test message to Sentry.
* @usage drush raven:captureMessage --level=error
* Send error message to Sentry.
* @usage drush raven:captureMessage 'Mic check.'
* Send "Mic check" message to Sentry.
*/
public function captureMessage($message = 'Test message from Drush.', array $options = [
'level' => 'info',
]) {
if (!$this->ravenLogger) {
throw new \Exception('Sentry logger service not available.');
}
if (!$this->ravenLogger
->getClient()) {
throw new \Exception('Sentry client not available.');
}
$id = \Sentry\captureMessage($message, new Severity($options['level']));
if (!$id) {
throw new \Exception('Send failed.');
}
// Static analysis fix: LoggerInterface does not define a success method.
if (method_exists($this
->logger(), 'success')) {
$this
->logger()
->success(dt('Message sent as event %id.', [
'%id' => $id,
]));
}
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
RavenCommands:: |
protected | property | The @logger.raven service. | |
RavenCommands:: |
public | function | Send a test message to Sentry. | |
RavenCommands:: |
public | function | Injects Raven logger service. |