comsolit/sentry_client

TYPO3 扩展,用于使用 Sentry 记录 PHP 错误和异常,https://sentry.io

安装次数: 1,220

依赖项: 0

建议者: 0

安全性: 0

星星: 0

观察者: 5

分支: 36

开放问题: 1

类型:typo3-cms-extension

8.0.0 2018-08-31 09:50 UTC

This package is auto-updated.

Last update: 2024-08-29 04:58:54 UTC


README

一个用于使用 Sentry 记录 PHP 异常的 TYPO3 扩展,https://www.sentry.io

记录前端 PHP 错误和异常到您的 Sentry 实例。注意, TYPO3 目前不支持记录后端问题(它已列入 v9 版本的待办事项列表,根据核心开发者 Markus Klein 的说法)。

基于官方 Sentry PHP 客户端,sentry/sentry

安装

  1. 将以下内容添加到您的项目 composer.json 文件中,并运行 composer install
  "repositories": [
    {
      "type": "composer",
      "url": "https://packagist.org.cn/"
    },
    {
      "url": "https://github.com/comsolit/sentry_client.git",
      "type": "git"
    }
  ],
  "require": {
    "comsolit/sentry_client": "dev-master"
  }
  1. 确保您的 typo3conf/LocalConfiguration.php 文件中 SYS 部分包含类似以下内容
    'SYS' => [
        // ...
        'devIPmask' => '',
        'displayErrors' => '0',
        'enable_errorDLOG' => '1',
        'enable_exceptionDLOG' => '1',
        'enableDeprecationLog' => 'devlog',
        'systemLog' => '',
        'systemLogLevel' => '0',
        'syslogErrorReporting' => E_ALL,
        'belogErrorReporting' => E_ALL,
        'exceptionalErrors' => E_RECOVERABLE_ERROR | E_USER_DEPRECATED,
        'errorHandlerErrors' => E_WARNING | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE | E_RECOVERABLE_ERROR | E_DEPRECATED | E_USER_DEPRECATED,
        'errorHandler' => 'SentryClient\\ErrorHandler',
        'debugExceptionHandler' => 'SentryClient\\DebugExceptionHandler',
        'productionExceptionHandler' => 'SentryClient\\ProductionExceptionHandler',
    ]

或者,您可以通过 安装工具 或在 typo3conf/AdditionalConfiguration.php 中设置这些值。

配置

扩展管理器 中设置 Sentry DSN(例如,https://public_key:secret_key@your-sentry-server.com/project-id)。

这将添加到您的 typo3conf/LocalConfiguration.php 文件中

'EXT' => [
    'extConf' => [
        'sentry_client' => ...

注意:对于专业部署,您应该考虑使用类似 phpdotenv 的工具来管理您的机密信息,而不是使用扩展管理器,并将您的 LocalConfiguration 保持在版本控制之下。

JavaScript 错误记录

有关将 JavaScript 错误记录到 Sentry 的说明,请参阅 JavaScript Sentry 文档

如果您通过 TypoScript 包含 JavaScript 源代码,那么通过定义系统环境中的 SENTRY_DSN_PUBLIC 值(例如,通过一个由 phpdotenv 读取的 .env 文件)可以很方便地避免硬编码。您可以使用以下方式在 TypoScript 中读取该值

page.headerData {
  999 = COA
  999 {
    10 = TEXT
    10.value = <script src="https://cdn.ravenjs.com/3.16.0/raven.min.js" crossorigin="anonymous"></script>
    20 = TEXT
    20.value = <script>Raven.config('
    30 = TEXT
    30.data = getenv : SENTRY_DSN_PUBLIC
    30.stdWrap.wrap = |
    40 = TEXT
    40.value = ', {release: '
    50 = TEXT
    50.data = getenv : PROJECT_VERSION
    50.stdWrap.wrap = |
    60 = TEXT
    60.value = '}).install();</script>
  }
}

开发

欢迎您的贡献!请 Fork 仓库,进行您的更改,并 发起一个 Pull Request