phptek/sentry

Sentry.io 集成于 SilverStripe。将 Sentry.io 与 SilverStripe 的错误和异常处理子系统绑定。

安装量: 163,492

依赖者: 4

建议者: 2

安全性: 0

星星: 12

关注者: 2

分支: 22

开放问题: 10

类型:silverstripe-vendormodule


README

CI Scrutinizer Code Quality License

SentryGlitchtip 是错误和异常聚合服务。这类系统会收集您的应用程序的错误,与可配置的上下文一起聚合,并存储它们以进行分类和分析。

想象一下:您在客户之前看到错误和异常。因此,错误 > 报告 > 调试 > 修补 > 部署周期可以尽可能高效。

此模块将 sentry.io、app.glitchtip.com 和本地部署的 Sentry/Glitchtip 安装绑定到 Silverstripe 的 Monlog 错误记录器。如果您之前使用过 RayGunRollbarAirBrakeBugSnag,您将大致知道预期内容。

要求

参见 composer.json

设置

composer require phptek/sentry

注意

  • 版本 5.x 旨在针对 Silverstripe 5。
  • 版本 2.x、3.x 和 4.x 应与相同的 Silverstripe v4 设置兼容。v3+ 使用更新的 Sentry PHP SDK 版本,并包含额外的错误修复和功能。
  • 版本 3.x 的 SentryClientAdaptor 已重命名为 SentryAdaptor,而 SentryLogWriter 已重命名为 SentryLogger,因此您现有的配置可能需要相应更新。

配置

您可以在 .env 或 CI 配置中将您的 DSN 设置为顶级环境变量

SENTRY_DSN="http://deacdf9dfedb24ccdce1b90017b39dca:deacdf9dfedb24ccdce1b90017b39dca@sentry.mydomain.nz/44"

您也可以在项目的 YML 配置中设置它

---
Name: my-project-config-sentry
After:
  - 'sentry-config'
---

# Send errors reported for all environment modes: `dev`, `test` and `live` envs

PhpTek\Sentry\Adaptor\SentryAdaptor:
  opts:
    # Example DSN only. Obviously you'll need to setup your own Sentry "Project"
    dsn: http://deacdf9dfedb24ccdce1b90017b39dca:deacdf9dfedb24ccdce1b90017b39dca@sentry.mydomain.nz/44

条件配置

---
Name: my-project-config-sentry
After:
  - 'sentry-config'
---

# Send errors reported just in `test` and `live`, but not `dev` envs

---
Only:
  environment: test
---
PhpTek\Sentry\Adaptor\SentryAdaptor:
  opts:
    # Example DSN only. Obviously you'll need to setup your own Sentry "Project"
    dsn: http://deacdf9dfedb24ccdce1b90017b39dca:deacdf9dfedb24ccdce1b90017b39dca@sentry.mydomain.nz/44
---
Except:
  environment: test
---
PhpTek\Sentry\Adaptor\SentryAdaptor:
  opts:
    # Example DSN only. Obviously you'll need to setup your own Sentry "Project"
    dsn: http://deacdf9dfedb24ccdce1b90017b39dca:deacdf9dfedb24ccdce1b90017b39dca@sentry.mydomain.nz/44
---
Only:
  environment: dev
---
PhpTek\Sentry\Adaptor\SentryAdaptor:
  opts:
    dsn: null
---

请查阅 使用文档 以获取更多配置和自定义选项。

注意

  • 在测试和实时环境中设置了 http_proxy 但开发环境没有设置 Injector 错误的情况下保持静默:提供一个值为 null 的值,适用于所有有一个环境有设置而另一个没有设置的 YML 配置。例如
...
    ---
    Only:
      environment: dev
    ---
    PhpTek\Sentry\Adaptor\SentryAdaptor:
      opts:
        dsn: null
        http_proxy: null
    ---
...
  • 如上例所示,确保您的项目配置设置为在模块自己的配置之后设置,因此

    之后: - 'sentry-config'

SilverStripe 框架 v3

YML 配置

phptek\Sentry\Adaptor\SentryClientAdaptor:
  opts:
    # Example DSN only. Obviously you'll need to setup your own Sentry "Project"
    dsn: http://deacdf9dfedb24ccdce1b90017b39dca:deacdf9dfedb24ccdce1b90017b39dca@sentry.mydomain.nz/44

mysite/_config.php

SS_Log::add_writer(\phptek\Sentry\SentryLogWriter::factory(), SS_Log::ERR, '<=');

使用

Sentry 通常在项目的 .env、YML 配置或甚至 _config.php 文件中设置一次。请参阅上述示例和 使用文档 以获取详细信息和选项。

支持我

如果您喜欢您看到的内容,请支持我!我接受比特币