PHP code example of silinternational / yii2-sentry

1. Go to this page and download the library: Download silinternational/yii2-sentry library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

silinternational / yii2-sentry example snippets


return [
    'components' => [
        'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'class' => 'Sil\Sentry\SentryTarget',
                    'dsn' => 'http://2682ybvhbs347:[email protected]/1',
                    'levels' => ['error', 'warning'],
                    // Write the context information (the default is true):
                    'context' => true,
                    // Additional options for `Sentry\init`:
                    'clientOptions' => ['release' => '[email protected]']
                ],
            ],
        ],
    ],
];

\Yii::error('message', 'category');

\Yii::warning([
    'msg' => 'message',
    'extra' => 'value',
], 'category');

    'targets' => [
        [
            'class' => 'Sil\Sentry\SentryTarget',
            'dsn' => 'http://2682ybvhbs347:[email protected]/1',
            'levels' => ['error', 'warning'],
            'context' => true, // Write the context information. The default is true.
            'extraCallback' => function ($message, $extra) {
                // some manipulation with data
                $extra['some_data'] = \Yii::$app->someComponent->someMethod();
                return $extra;
            }
        ],
    ],

\Yii::warning([
    'msg' => 'message',
    'extra' => 'value',
    'tags' => [
        'extraTagKey' => 'extraTagValue',
    ]
], 'category');

    'targets' => [
        [
            'class' => 'Sil\Sentry\SentryTarget',
            'dsn' => 'https://11111111111111111111111111111111@11111111111111111.ingest.us.sentry.io/1111111111111111',
            'levels' => ['error', 'warning'],
            'tagCallback' => function ($tags) {
                $tags['foo'] = 'bar';
                return $tags;
            },
        ],
    ],

return [
    // ...
    'on beforeAction' => function (\yii\base\ActionEvent $event) {
        /** @var \yii\web\User $user */
        $user = Yii::$app->has('user', true) ? Yii::$app->get('user', false) : null;
        if ($user && ($identity = $user->getIdentity(false))) {
            \Sentry\configureScope(function (\Sentry\State\Scope $scope) use ($identity) {
                $scope->setUser([
                    // User ID and IP will be added by logger automatically
                    'username' => $identity->username,
                    'email' => $identity->email,
                ]);
            });
        }
    
        return $event->isValid;
    },
    // ...
];