tvup / laravel-fejlvarp
为Laravel设计的简单事件记录器
Requires
- php: ^8.0.2
- laravel/framework: ^9.47|^10|^11
- nesbot/carbon: ^2|^3
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- ext-curl: *
- friendsofphp/php-cs-fixer: ^3.35
- larastan/larastan: ^2.4.0
- nunomaduro/collision: ^6|^7|^8
- orchestra/testbench: ^7|^8|^9
- pestphp/pest: ^1.22.1|^2|^3
- pestphp/pest-plugin-laravel: ^1.4|^2|^3
- phpstan/phpstan-phpunit: ^1.3
- phpunit/phpunit: ^9|^10|^11
- spatie/laravel-ray: ^1.33
- dev-master
- v11.1.4
- v11.1.3
- v11.1.2
- v11.1.1
- v11.1.0
- v11.0.0
- v10.2.6
- v10.2.5.10
- v10.2.5.9
- v10.2.5.8
- v10.2.5.7
- v10.2.5.6
- v10.2.5.5
- v10.2.5.4
- v10.2.5.3
- v10.2.5.2
- v10.2.5.1
- v10.2.5
- v9.1.5
- v9.1.4
- v9.1.3
- v9.1.2.x-dev
- v9.1.2
- v9.1.1.x-dev
- v9.1.1
- v9.1.0.x-dev
- v9.1.0
- v9.0.4.x-dev
- v9.0.4
- v9.0.3
- v9.0.2
- v9.0.1
- v9.0.0
- dev-develop
- dev-feature/add-user-data-to-fejlvarp
- dev-feature/display-session-content
- dev-feature/fix-usage-of-hard-coded-time-zone
- dev-feature/update-readme
- dev-feature/re-enable-update-changelog
- dev-feature/check-php-versions-below-8.2
- dev-feature/check-php-version-8.3
- dev-feature/laravels-handler
- dev-feature/allow-laravel-11
- dev-v.9.1.4
- dev-v.9.1.3
This package is auto-updated.
Last update: 2024-09-27 15:37:51 UTC
README
Laravel Fejlvarp是一个专为Laravel应用程序定制的强大事件记录器。它旨在简化错误跟踪,确保您始终能够及时了解运行时错误,以便快速解决问题。
为什么选择Laravel Fejlvarp?
- 即时通知:当事件发生或重新打开时,通过电子邮件或pushover.net立即通知。
- 直观界面:用户友好的Web界面让您深入了解每个事件的相关调试信息。
- 无缝集成:无需任何麻烦即可直接集成到您的Laravel应用程序中。
贡献者
此包是Fejlvarp的增强版,由troelskn创建。感谢您让我参与这个想法,让它成为laravel的包。
negoziator在制作此包的过程中也提供了巨大的帮助。
支持的版本
此项目支持多种PHP和Laravel版本,并在多个操作系统上进行了测试。以下是支持的版本详情
PHP和Laravel兼容性
操作系统
此项目在以下操作系统上进行了测试
- Ubuntu(最新版)
- Windows(最新版)
测试稳定性
在不同的依赖关系场景下测试该项目,以确保强大的兼容性
- 优先考虑最低版本:确保与依赖项的最旧版本兼容。
- 优先考虑稳定版本:确保与依赖项的最新稳定版本兼容。
安装
您可以通过composer安装此包
composer require tvup/laravel-fejlvarp
默认路由到事件列表将是http://your-url.top/incidents
重要!请确保使用(admin)身份验证保护此路由
您可以通过让包安装其依赖项来享受便利
php artisan fejlvarp:install
它还会询问您是否想要创建(迁移)将存储事件的表
除了做上述事情,或者如果您只是好奇,您可以手动发布文件,方法如下
您可以使用以下命令发布和运行迁移
php artisan vendor:publish --tag="fejlvarp-migrations"
php artisan migrate
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="fejlvarp-config"
这是已发布配置文件的内容
return [ 'ipstack' => ['access_key' => env('INCIDENT_MANAGER_IPSTACK_ACCESS_KEY')], 'pushover' => [ 'userkey' => env('INCIDENT_MANAGER_PUSHOVER_USER_KEY'), 'apitoken' => env('INCIDENT_MANAGER_PUSHOVER_API_TOKEN'), ], 'slack' => [ 'webhook_url' => env('INCIDENT_MANAGER_SLACK_WEBHOOK_URL'), ], 'mail_recipient' => env('INCIDENT_MANAGER_EMAIL_RECIPIENT'), ];
ipstack用于获取关于IP地址的信息 - 您可以在此处获取访问密钥:https://ipstack.com/signup/free ipstack的结果被缓存,因此不会立即耗尽免费查找。
Pushover/slack/mail用于通知新事件或重新打开的事件
可选地,您可以使用以下命令发布视图
php artisan vendor:publish --tag="fejlvarp-views"
您可以用以下方式替换您的异常处理器
php artisan vendor:publish --tag=fejlvarp-provider
请确保服务提供程序已正确安装
您可以让其他应用程序报告到您安装的应用程序,可以从/src/Exceptions/LaravelFejlvarpExceptionHandler.php中获取灵感
$hash = config('app.name') . $exception->getMessage() . preg_replace('~revisions/[0-9]{14}/~', '--', $exception->getFile()) . $exception->getLine(); $user = request()->user(); $data = [ 'hash' => md5($hash), 'subject' => $exception->getMessage() ? $exception->getMessage() : 'Subject is empty', 'data' => json_encode([ 'application' => config('app.name'), 'error' => [ 'type' => get_class($exception), 'message' => $exception->getMessage(), 'code' => $exception->getCode(), 'file' => $exception->getFile(), 'line' => $exception->getLine(), 'trace' => $exception->getTraceAsString(), ], 'environment' => [ 'GET' => $_GET ?: null, 'POST' => $_POST ?: null, 'SERVER' => $_SERVER ?: null, 'SESSION' => request()->hasSession() ? request()->session()->all() : null, ], 'application_data' => $user ? [ 'user' => $user->toArray(), ] : null, 'queries' => app(Listener::class)->queries(), ], JSON_THROW_ON_ERROR), ]; $request = Request::create( '/api/incidents', 'POST', $data, [], [], ['CONTENT_TYPE'=>'application/x-www-form-urlencoded'] ); app()->handle($request);
测试
composer test
通过laravel应用程序在本地开发laravel-fejlvarp
以下说明适用于已安装laravel-fejlvarp包的您的laravel应用程序
- 在您的docker-compose.yml中添加一个卷
- '../local-fejlvarp-folder-relative-to-laravel-folder:/var/www/packages/laravel-fejlvarp'
(在这些行下方)
volumes: - '.:/var/www/html'
- 添加仓库到composer
{
"type": "path",
"url": "../packages/laravel-fejlvarp",
"symlink": true
}
- 使用本地包
"tvup/laravel-fejlvarp": "@dev"
sail composer update tvup/laravel-fejlvarp
现在,您每次更改包中的内容时都不需要运行composer update。(记得在推送任何内容之前恢复yml和composer文件)
变更日志
有关最近更改的更多信息,请参阅变更日志。
贡献
有关详细信息,请参阅贡献指南。
安全漏洞
有关如何报告安全漏洞,请参阅我们的安全策略。
鸣谢
许可协议
MIT许可(MIT)。有关更多信息,请参阅许可文件。