otsec/yii2-sentry A Yii2 component for Sentry (http://getsentry.com)

errorsentryravencrash

Yii2 Sentry Component

Automatically catch all PHP and JS errors and send them to Sentry.

Supports PHP SDK and JavaScript Client.

Installation

Install via composer.

composer require --prefer-dist otsec/yii2-sentry

Add component to your application configuration:

return [
    'components' => [
        ...

        'sentry' => [
            'class' => 'otsec\yii2\sentry\Raven',
            'dsn' => 'https://****@sentry.io/12345',
        ],
    ],
];

Do not forget to bootstrap it to register event handlers.

return [
    'bootstrap' => ['sentry'],

    ...
];

You are ready to go!

Configuration

There are a lot of options profived.

'components' => [
    ...

    'sentry' => [
        ...

        // Register Raven_Client error and exception handler on init.
        // Enabled by default
        'enableErrorHandler' => true,

        // Options will be passed to Raven_Client
        'options' => [],

        // Cathing JS errors is disabled by default.
        'enableClientScript' => false,

        // Options for client library.
        'clientOptions' => [],

        // DSN for client libary. 
        // Will be extracted from private DSN if empty.
        'publicDsn' => null,

        // Client library will be loaded from CDN by default.
        // You can use any other asset bundle if you want. 
        'assetBundle' => 'otsec\yii2\sentry\RavenCdnAsset',

        // Asset bundles for Bower and NPM already created but you have to 
        // install assets before you will use it.
        // 'assetBundle' => 'otsec\yii2\sentry\RavenBowerAsset',
        // 'assetBundle' => 'otsec\yii2\sentry\RavenNpmAsset',
    ],
],

Usage

Component registers error handler by default. It will catch any appeared error or not captured exception.

Captured exceptions can be handled manually.

try {
    throw new Exception('Oh, shit!');
} catch (Exception $e) {
    Yii::$app->sentry->captureException($e, ['extra' => 'data']);
}

There are some methods to work with context.

Yii::$app->sentry->extraContext($data);
Yii::$app->sentry->tagsContext($data);
Yii::$app->sentry->userContext($data);
Yii::$app->sentry->clearContext();

Or you can get access to Raven_Client itself.

$ravenClient = Yii::$app->sentry->getClient();

Statistics

Downloads
GitHub Stars
GitHub Forks

Releases

Comments



0.9.0 is the latest of one release



BSD-3-Clause license
Stats
0 github stars & 0 github forks
0 downloads in the last day
1 downloads in the last 30 days
1973 total downloads