Yii2-Sentry集成教程
yii2-sentrySentry logger for Yii2项目地址:https://gitcode.com/gh_mirrors/yi/yii2-sentry
1. 目录结构及介绍
在开始之前,了解notamedia/yii2-sentry
这个GitHub仓库的目录结构对于正确集成和使用Sentry错误追踪服务至关重要。以下是该扩展的基本目录结构及其简介:
yiisoft/yii2-app-basic/
├── config # 配置文件夹,包含应用的主要配置
│ └── main-local.php # 局部环境配置,这里可以添加Sentry的配置
├── vendor # Composer依赖包存放地
│ └── notamedia # 扩展作者的目录
│ └── yii2-sentry # Sentry扩展的具体代码存放目录
│ ├── src # 主要源代码
│ │ └── SentryTarget.php # 日志目标处理类,用于发送日志到Sentry
│ ├── views # 视图文件,如果扩展中有需要展示的部分
│ ├── Asset # 若有前端资源,将在此目录
│ ├── ... # 其他可能的支持文件或目录
├── components # 应用组件,自定义组件可放于此,包括自定义日志处理器
└── ...
**注意:**实际的项目结构可能会有所差异,但核心点在于vendor
目录下的notamedia/yii2-sentry
包含了扩展的所有功能实现。
2. 项目的启动文件介绍
在Yii2框架中,主要的启动文件是位于web/index.php
,这是Web请求进入应用的第一个脚本。虽然Sentry的集成不直接影响此文件的基础运行逻辑,但是它通过配置自动融入到日志处理流程中。在进行Sentry配置时,你不会直接修改这个启动文件,而是更新配置文件以启用Sentry日志记录。
3. 项目的配置文件介绍
3.1 全局配置 (common/config/main-local.php
)
在基本版的Yii2应用中,通常会在config/main-local.php
(或根据你的项目结构,可能是common/config/main-local.php
)中加入Sentry的相关配置,确保只在本地或指定环境中激活Sentry:
return [
'components' => [
'log' => [
'targets' => [
[
'class' => 'notamedia\sentry\SentryTarget',
'levels' => ['error', 'warning'],
'dsn' => 'your_sentry_dsn_here', // 替换为你的DSN
],
],
],
],
];
3.2 Sentry配置详解
class
: 指定使用的日志处理类,这里是notamedia\sentry\SentryTarget
,专为 Yii2 设计来发送日志到Sentry。levels
: 指定哪些级别的日志应该被发送到Sentry。例如,上例仅发送错误和警告级别日志。dsn
: Sentry数据源名称(Data Source Name),是连接Sentry服务器必要的标识符,需要从Sentry项目中获取并填入。
完成上述步骤后,当达到设定的日志级别时,Yii2应用程序将会把相应的错误报告给Sentry,便于集中管理和分析错误信息。
记得替换示例中的your_sentry_dsn_here
为你实际从Sentry项目获取的DSN值,完成这些配置后重启应用或清除缓存,确保配置生效。
yii2-sentrySentry logger for Yii2项目地址:https://gitcode.com/gh_mirrors/yi/yii2-sentry