pozitronik/yii2-exceptionslogger
Composer 安装命令:
composer require pozitronik/yii2-exceptionslogger
包简介
Exception logger for YII2
README 文档
README
Exceptions logging extension for YII2
Installation
The preferred way to install this extension is through composer.
Run
php composer.phar require pozitronik/yii2-exceptionslogger "dev-master"
or add
"pozitronik/yii2-exceptionslogger": "dev-master"
to the require section of your composer.json file.
Requirements
Yii2, PHP >= 8.0
Configuration
Run a included migration:
yii migrate/up --migrationPath=vendor/pozitronik/yii2-exceptionslogger/migrations
It creates the sys_exceptions table, which will store exceptions data.
Usage
Direct logger
This extension provides the SysExceptions::log() function, that can accept any Throwable interface as its first parameter. The exception
data will be saved in sys_exceptions table (in case of failure, the data will be written into runtime/exception.log file).
Example:
try { $i = $i/0; } catch (Throwable $t) { SysExceptions::log($t);//just silently log exception SysExceptions::log(new RuntimeException("Someone tried divide to zero"), false, true);//silently log own exception and mark it as known error SysExceptions::log(new RuntimeException("It prohibited by mathematics"), true);//log own exception and throw it }
Default exceptions handler
You can use the pozitronik\sys_exceptions\models\ErrorHandler class as default application error handler to log all exceptions
automatically. Define it in your application config, like:
$config = [ 'components' => [ 'errorHandler' => [ 'class' => pozitronik\sys_exceptions\models\ErrorHandler::class, 'errorAction' => 'site/error' ] ];
How to add custom data to a log record?
It is possible to add custom string data (e.g. some trace identifier) to every logged error. Configure the customDataHandler parameter for
the SysExceptionsModule module:
$config = [ 'modules' => [ 'SysExceptionsModule' => [ 'params' => [ 'customDataHandler' => static function():string { return Yii::$app->request?->csrfToken;//for example } ] ], ] ]
The data will be stored in the custom_data text field.
License
GNU GPL v3.0
pozitronik/yii2-exceptionslogger 适用场景与选型建议
pozitronik/yii2-exceptionslogger 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 3.26k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2020 年 02 月 28 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「exceptions」 「logger」 「activerecord」 「yii2」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 pozitronik/yii2-exceptionslogger 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 pozitronik/yii2-exceptionslogger 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 pozitronik/yii2-exceptionslogger 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
php7ify is a project that brings new php7 classes and exceptions to php 5.x.
ActiveRecord for API
The CodenamePHP Platform core that contains basic interfaces, exceptions etc..
CalendarView widget for Yii 2 Framework.
Workflow logger
HTTP request logger middleware for Laravel
统计信息
- 总下载量: 3.26k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 9
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: GPL-3.0-or-later
- 更新时间: 2020-02-28