comsolit / sentry_client
TYPO3 扩展,用于使用 Sentry 记录 PHP 错误和异常,https://sentry.io
Requires
- sentry/sentry: ^1.7
- typo3/cms-core: >=6.2.0,<8.9.99
Replaces
- sentry_client: 8.0.0
- typo3-ter/sentry_client: 8.0.0
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
。
安装
- 将以下内容添加到您的项目
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" }
- 确保您的
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。