PHPackages                             levii22/yii2-sentry - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Logging &amp; Monitoring](/categories/logging)
4. /
5. levii22/yii2-sentry

ActiveYii2-extension[Logging &amp; Monitoring](/categories/logging)

levii22/yii2-sentry
===================

Yii2 logger for Sentry

1.0.1(4mo ago)083↓50%MITPHPPHP ^7.2|^8.0

Since Dec 13Pushed 4mo agoCompare

[ Source](https://github.com/Levii22/yii2-sentry)[ Packagist](https://packagist.org/packages/levii22/yii2-sentry)[ RSS](/packages/levii22-yii2-sentry/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (3)Used By (0)

[Sentry](https://sentry.io) logger for Yii2
===========================================

[](#sentry-logger-for-yii2)

Installation
------------

[](#installation)

```
composer require levii22/yii2-sentry
```

Add target class in the application config:

```
return [
    'components' => [
	    'log' => [
		    'traceLevel' => YII_DEBUG ? 3 : 0,
		    'targets' => [
			    [
				    'class' => 'levii22\sentry\SentryTarget',
				    'dsn' => 'http://2682ybvhbs347:235vvgy465346@sentry.io/1',
				    'levels' => ['error', 'warning'],
				    // Write the context information (the default is true):
				    'context' => true,
				    // Additional options for `Sentry\init`:
				    'clientOptions' => ['release' => 'my-project-name@2.3.12']
			    ],
		    ],
	    ],
    ],
];
```

Profiling
---------

[](#profiling)

To use the profiling, add the `Sentry` component to your application bootstrap:

```
return [
    'bootstrap' => ['sentry'],
    'components' => [
        'sentry' => [
            'class' => \levii22\sentry\Sentry::class,
            'enabled' => true,
            'options' => [
                'dsn' => 'http://2682ybvhbs347:235vvgy465346@sentry.io/1',
                'traces_sample_rate' => 1.0,
            ],
        ],
    ],
];
```

Usage
-----

[](#usage)

Writing simple message:

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

Writing messages with extra data:

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

### Extra callback

[](#extra-callback)

`extraCallback` property can modify extra's data as callable function:

```
    'targets' => [
        [
            'class' => 'levii22\sentry\SentryTarget',
            'dsn' => 'http://2682ybvhbs347:235vvgy465346@sentry.io/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;
            }
        ],
    ],
```

### Tags

[](#tags)

Writing messages with additional tags. If need to add additional tags for event, add `tags` key in message. Tags are various key/value pairs that get assigned to an event, and can later be used as a breakdown or quick access to finding related events.

Example:

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

More about tags see

### Additional context

[](#additional-context)

You can add additional context (such as user information, fingerprint, etc) by calling `\Sentry\configureScope()` before logging. For example in main configuration on `beforeAction` event (real place will dependant on your project):

```
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;
    },
    // ...
];
```

Log levels
----------

[](#log-levels)

Yii2 log levels converts to Sentry levels:

```
\yii\log\Logger::LEVEL_ERROR => 'error',
\yii\log\Logger::LEVEL_WARNING => 'warning',
\yii\log\Logger::LEVEL_INFO => 'info',
\yii\log\Logger::LEVEL_TRACE => 'debug',
\yii\log\Logger::LEVEL_PROFILE_BEGIN => 'debug',
\yii\log\Logger::LEVEL_PROFILE_END => 'debug',

```

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance74

Regular maintenance activity

Popularity12

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 60% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

148d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d1fcd49c87915dfe8dcb40424e074152586e4d0d5fe9f517e32535d45dc9129c?d=identicon)[Levii22](/maintainers/Levii22)

---

Top Contributors

[![niksamokhvalov](https://avatars.githubusercontent.com/u/8028275?v=4)](https://github.com/niksamokhvalov "niksamokhvalov (45 commits)")[![senor-artemisio](https://avatars.githubusercontent.com/u/1178789?v=4)](https://github.com/senor-artemisio "senor-artemisio (6 commits)")[![CookiesEater](https://avatars.githubusercontent.com/u/1815942?v=4)](https://github.com/CookiesEater "CookiesEater (5 commits)")[![nixmen](https://avatars.githubusercontent.com/u/7568437?v=4)](https://github.com/nixmen "nixmen (4 commits)")[![Levii22](https://avatars.githubusercontent.com/u/78547824?v=4)](https://github.com/Levii22 "Levii22 (3 commits)")[![SilverFire](https://avatars.githubusercontent.com/u/4499203?v=4)](https://github.com/SilverFire "SilverFire (3 commits)")[![dmhaiduchonak](https://avatars.githubusercontent.com/u/29248?v=4)](https://github.com/dmhaiduchonak "dmhaiduchonak (2 commits)")[![Julian-B90](https://avatars.githubusercontent.com/u/4377396?v=4)](https://github.com/Julian-B90 "Julian-B90 (1 commits)")[![orionchikby](https://avatars.githubusercontent.com/u/19212468?v=4)](https://github.com/orionchikby "orionchikby (1 commits)")[![Perfectio](https://avatars.githubusercontent.com/u/241746583?v=4)](https://github.com/Perfectio "Perfectio (1 commits)")[![dawidrylko](https://avatars.githubusercontent.com/u/11761319?v=4)](https://github.com/dawidrylko "dawidrylko (1 commits)")[![Shmakov](https://avatars.githubusercontent.com/u/606514?v=4)](https://github.com/Shmakov "Shmakov (1 commits)")[![mitrm](https://avatars.githubusercontent.com/u/9912491?v=4)](https://github.com/mitrm "mitrm (1 commits)")[![i-sevostyanov](https://avatars.githubusercontent.com/u/1166655?v=4)](https://github.com/i-sevostyanov "i-sevostyanov (1 commits)")

---

Tags

sentryyii2

### Embed Badge

![Health badge](/badges/levii22-yii2-sentry/health.svg)

```
[![Health](https://phpackages.com/badges/levii22-yii2-sentry/health.svg)](https://phpackages.com/packages/levii22-yii2-sentry)
```

###  Alternatives

[notamedia/yii2-sentry

Yii2 logger for Sentry

1272.0M2](/packages/notamedia-yii2-sentry)[mito/yii2-sentry

Yii 2 extension for Sentry

92377.7k](/packages/mito-yii2-sentry)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
