PHPackages                             enex/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. enex/sentry

ActiveLibrary[Logging &amp; Monitoring](/categories/logging)

enex/sentry
===========

Bitrix CMS integration with Sentry

0.2.3(12mo ago)055[1 issues](https://github.com/enex-market/enex-sentry/issues)Apache-2.0PHPPHP &gt;=8.0

Since Jul 3Pushed 12mo agoCompare

[ Source](https://github.com/enex-market/enex-sentry)[ Packagist](https://packagist.org/packages/enex/sentry)[ RSS](/packages/enex-sentry/feed)WikiDiscussions master Synced today

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

BitrixCMS-Sentry
================

[](#bitrixcms-sentry)

Описание
--------

[](#описание)

Модуль для интеграции Bitrix CMS с Sentry. Позволяет отправлять PHP-ошибки и исключения из Bitrix напрямую в Sentry, а также вести локальный лог ошибок.

Требования
----------

[](#требования)

- Composer
- PHP &gt;= 8.0
- Bitrix Framework
- Sentry SDK &gt;= 4.5.0

Установка
---------

[](#установка)

```
composer require enex/sentry
```

Настройка
---------

[](#настройка)

### Подключение composer autoload

[](#подключение-composer-autoload)

В файле `init.php` подключите autoload Composer, если это ещё не сделано:

```
require_once($_SERVER['DOCUMENT_ROOT'] . '/vendor/autoload.php');
```

### Переменные окружения

[](#переменные-окружения)

В проекте используются следующие переменные окружения:

ПеременнаяОписаниеПример значения`APP_ENV`Окружение приложения. Если `local`, ошибки не отправляются в Sentry.`production`, `local``SENTRY_DSN`DSN (Data Source Name) для подключения к вашему проекту Sentry.`https://@sentry.io/``SENTRY_ATTACHSTACKTRACE`Включать ли stacktrace для ошибок (bool, строка или число).`true`, `false`, `1`, `0``SENTRY_SEND_DEFAULT_PII`Отправлять ли персональные данные пользователя (bool, строка или число).`true`, `false`, `1`, `0`> Все переменные можно определить в файле `.env` в корне проекта.

### Загрузка переменных из .env

[](#загрузка-переменных-из-env)

Пакет использует `vlucas/phpdotenv` для загрузки переменных окружения. В `init.php` добавьте:

```
if (class_exists('Dotenv\\Dotenv')) {
    $env = Dotenv\Dotenv::createImmutable($_SERVER['DOCUMENT_ROOT']);
    try {
        $env->load();
    } catch (Exception $e) {}
}
```

Для старых версий dotenv используйте `create()` вместо `createImmutable()`.

### Настройка Bitrix

[](#настройка-bitrix)

В файле `bitrix/.settings.php` в секции `[exception_handling][value][log]` укажите:

```
'class_name' => '\\enex\\sentry\\SentryException'
```

Пример:

```
'exception_handling' => [
    'value' => [
        'debug' => false,
        'handled_errors_types' => 4437, // битовая маска типов ошибок
        'exception_errors_types' => 4437,
        'ignore_silence' => true,
        'assertion_throws_exception' => true,
        'assertion_error_type' => 256,
        'log' => [
            'settings' => [
                'file' => 'bitrix/modules/error.log',
            ],
            'class_name' => '\\enex\\sentry\\SentryException',
        ],
    ],
    'readonly' => false,
],
```

### Использование и особенности

[](#использование-и-особенности)

- Класс `SentryException` наследует Bitrix\\Main\\Diag\\FileExceptionHandlerLog и полностью совместим с Bitrix.
- Ошибки фильтруются через метод `shouldLogError($logType)`. По умолчанию игнорируются только LOW\_PRIORITY\_ERROR, но логику можно изменить.
- Для отправки ошибок в Sentry используется SDK &gt;= 4.5.0
- Битовая маска ошибок по умолчанию (4437) включает основные типы ошибок PHP:

```
E_ERROR             = 1
E_WARNING           = 2
E_PARSE             = 4
E_CORE_ERROR        = 16
E_CORE_WARNING      = 32
E_COMPILE_ERROR     = 64
E_COMPILE_WARNING   = 128
E_USER_ERROR        = 256
E_USER_WARNING      = 512
E_STRICT            = 2048
E_RECOVERABLE_ERROR = 4096

```

### Пример расширения фильтрации ошибок

[](#пример-расширения-фильтрации-ошибок)

```
protected function shouldLogError(int $logType): bool
{
    // Например, логировать только ошибки кроме LOW_PRIORITY и NOTICE
    return !in_array($logType, [ExceptionHandlerLog::LOW_PRIORITY_ERROR, E_NOTICE], true);
}
```

### Дополнительные параметры Sentry

[](#дополнительные-параметры-sentry)

В методе инициализации Sentry можно использовать хуки:

```
'before_send_check_in' => function (\Sentry\Event $event) {
    // Изменить check-in или вернуть null
    return $event;
},
'before_send_metrics' => function (\Sentry\Event $event) {
    // Изменить метрики или вернуть null
    return $event;
},
```

Лицензия
--------

[](#лицензия)

Apache License

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance50

Moderate activity, may be stable

Popularity10

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

 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

Every ~0 days

Total

5

Last Release

364d ago

### Community

Maintainers

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

---

Top Contributors

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

---

Tags

loggingmonitoringerrorbitrixsentry

### Embed Badge

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

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

###  Alternatives

[sentry/sentry-laravel

Laravel SDK for Sentry (https://sentry.io)

1.3k127.1M203](/packages/sentry-sentry-laravel)[sentry/sentry-symfony

Symfony integration for Sentry (http://getsentry.com)

74666.1M96](/packages/sentry-sentry-symfony)[jenssegers/raven

Sentry (Raven) error monitoring integration for Laravel projects

90197.3k1](/packages/jenssegers-raven)[justbetter/magento2-sentry

Magento 2 Logger for Sentry

1861.6M3](/packages/justbetter-magento2-sentry)[stayallive/wp-sentry

A (unofficial) WordPress plugin to report PHP and JavaScript errors to Sentry.

385220.0k](/packages/stayallive-wp-sentry)[rollbar/rollbar-laravel

Rollbar error monitoring integration for Laravel projects

14110.9M11](/packages/rollbar-rollbar-laravel)

PHPackages © 2026

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