PHPackages                             enscope/yii2-airbrake - 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. enscope/yii2-airbrake

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

enscope/yii2-airbrake
=====================

Yii2 Airbrake integration

0.2(9y ago)16883MIT LicensePHP

Since Apr 11Pushed 2y ago1 watchersCompare

[ Source](https://github.com/enscope/yii2-airbrake)[ Packagist](https://packagist.org/packages/enscope/yii2-airbrake)[ Docs](https://github.com/enscope/yii2-airbrake)[ RSS](/packages/enscope-yii2-airbrake/feed)WikiDiscussions master Synced 4w ago

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

yii2-airbrake
=============

[](#yii2-airbrake)

Airbrake integration for Yii2, which wraps around official [Airbrake PHP library (airbrake/phpbrake)](https://github.com/airbrake/phpbrake).

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

[](#installation)

```
composer require enscope/yii2-airbrake

```

Usage
-----

[](#usage)

While it is not explicitly required, it is recommended to configure the `AirbrakeService`as a component in environment (or even common) configuration, so it is easily accessible from the whole application (using i.e. `Yii::$app->get('airbrakeService')`).

```
import enscope\Yii2\Ext\Airbrake\AirbrakeService;
import enscope\Yii2\Ext\Airbrake\AirbrakeFilterFactory;

return [
    // ...
    'components' => [
        // ...
        'airbrakeService' => [
            'class' => AirbrakeService::className(),

            'enabled' => true, // default TRUE

            'projectId' => [*your-project-id],
            'projectKey' => [*your-project-key],

            'environment' => YII_ENV, // default NULL
            'appVersion' => [your-app-version], // default NULL
            'rootDirectory' => [source-root-directory], // default NULL
            'host' => [api-endpoint-host], // default "api.airbrake.io"
            'httpClient' => [http-client-type], // default "default"

            'setGlobalInstance' => [boolean], // default TRUE
            'setErrorHandler' => [boolean], // default FALSE

            'filters' => [ // default NULL
                // 'PHPSESSID' and '_csrf' parameters should not be transferred to airbrake
                AirbrakeFilterFactory::createParamsFilter(['PHPSESSID', '_csrf']),
            ],
        ],
    ],
];

```

*Configuration options marked with asterisk are required, all other options are optional.*

- `rootDirectory`: should be set to your sources root to allow shortening of file paths
- `httpClient`: specifies type of HTTP client to use and can be configured as:
    - `AirbrakeService::CLIENT_DEFAULT`
    - `AirbrakeService::CLIENT_GUZZLE`
    - `AirbrakeService::CLIENT_CURL`
- `setGlobalInstance`: if set to `true`, current instance will be set as global instance
- `setErrorHandler`: if set to `true`, current instance will be set as PHP run-time unhandled exception handler
- `filters`: array of callables providing notice pre-processing

*For additional information about the API, please consult official Airbrake PHP library documentation.*

### AirbrakeFilterFactory

[](#airbrakefilterfactory)

Factory class that can be used to create various filtering rules.

#### `AirbrakeFilterFactory::createParamsFilter(array $params, $replacement = 'FILTERED')`

[](#airbrakefilterfactorycreateparamsfilterarray-params-replacement--filtered)

Method will create filtering callable that filters parameters, specified by `$params` and replaces it with specified `$replacement`. Example usage is available above.

Console Support
---------------

[](#console-support)

Integration can be added to Yii console, where it currently provides a command to track deployment (new feature in Airbrake API 4 that allows to mark error timeline with deployments).

### Usage

[](#usage-1)

To use `ConsoleController`, `AirbrakeService` should be configured as component.

```
import enscope\Yii2\Ext\Airbrake\ConsoleController;

return [
    // ...
    'controllerMap' => [
        // ...
        'airbrake' => [
            'class' => ConsoleController::className(),
            'airbrakeService' => [component-name], // default "airbrakeService"
        ],
    ],
];

```

While parameters can be hard-coded in configuration, console controller supports `inferParameters`, `username`, `revision` and `repository`parameters to be set by arguments on command line.

- `airbrakeService`: name of the component or initialized instance
- `inferParameters`: if TRUE, `repository` and `revision` are discovered using `exec()` calls
- `revision`: identifier of the revision, discovered by `git rev-parse HEAD` if infer allowed
- `repository`: identifier of the repository, discovered by `git remote get-url origin` if infer allowed
- `username`: name of the user tracking deploy (default "system")

Logging Target
--------------

[](#logging-target)

You can configure Yii2 logger to log errors automatically to Airbrake Service.

### Usage

[](#usage-2)

To use `ConsoleController`, `AirbrakeService` should be configured as component.

```
import enscope\Yii2\Ext\Airbrake\AirbrakeTarget;

return [
    // ...
    'components' => [
        // ...
        'log' => [
            // ...
            'targets' => [
                // ...
                [
                    'class' => AirbrakeTarget::className(),
                    'airbrakeService' => 'airbrakeService',
                    'levels' => ['error'],
                ],
            ],
        ],
    ],
];

```

The target currently does not expose any other configuration options other then those exposed by `yii\log\Target`, except the service component:

- `airbrakeService`: name of the component or initialized instance

License
-------

[](#license)

Yii2 Airbrake integration is licensed under [The MIT License (MIT)](https://github.com/enscope/yii2-airbrake/blob/master/LICENSE)as is the original PHP Airbrake library and follows the versioning of that library.

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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

Unknown

Total

1

Last Release

3367d ago

### Community

Maintainers

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

---

Top Contributors

[![mx0r](https://avatars.githubusercontent.com/u/54171515?v=4)](https://github.com/mx0r "mx0r (6 commits)")

---

Tags

airbrakeloggingyii2yii2-consoleyii2-extensionyii2-loggingloggingerrorreportingyii2extensionairbrake

### Embed Badge

![Health badge](/badges/enscope-yii2-airbrake/health.svg)

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

###  Alternatives

[mito/yii2-sentry

Yii 2 extension for Sentry

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

PHPackages © 2026

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