dnj / laravel-error-tracker-server
v1.0.1
2023-04-13 02:05 UTC
Requires
- php: ^8.1
- dnj/error-tracker-contracts: ^1.0.0
- dnj/laravel-user-logger: ^1.0.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.11
- orchestra/testbench: ^7.0
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2024-09-13 04:59:29 UTC
README
简介
此包专门为 laravel 错误跟踪构建。
- 功能包括
- 应用程序管理
- 设备管理
- 日志管理
- PHP、PHPUnit 和 PHPCsFixer 的最新版本
- 应用最佳实践
安装
使用 composer 需求此包。
composer require dnj/laravel-error-tracker-server
Laravel 使用包自动发现,因此不需要您手动添加 ServiceProvider。
使用发布命令将包配置复制到您的本地配置
php artisan vendor:publish --provider="dnj\ErrorTracker\Laravel\Server\ServiceProvider"
配置文件
<?php return [ // Define your user model class for connect entities to users. 'user_model' => \dnj\AAA\Models\User::class, 'routes' => [ 'enable' => true, 'prefix' => 'log', // example: log, device, etc ... , ], ];
ℹ️ 注意
用户活动日志默认是 禁用 的,如果您想保存它们,请将
$userActivityLog
设置为 true。
示例
use dnj\ErrorTracker\Contracts\IAppManager; use dnj\ErrorTracker\Contracts\IDeviceManager; use dnj\ErrorTracker\Contracts\ILogManager; use dnj\ErrorTracker\Contracts\LogLevel; $appManager = app(IAppManager::class); $app = $appManager->store( title: 'Android mobile app', owner: 1, meta: ['key' => 'value']), userActivityLog: false, ); $deviceManager = app(IDeviceManager::class); $device = $deviceManager->store( title: 'Nokia mobile', owner: 1, meta: ['serialNo' => 44514526985]), userActivityLog: false, ); $logManager = app(ILogManager::class); $log = $logManager->store( app: $app, device: $device, level: LogLevel::INFO, message: 'App just installed', data: ['version' => "1.0.0"] );
与应用程序协同工作
- 搜索应用程序
use dnj\ErrorTracker\Contracts\IAppManager; $appManager = app(IAppManager::class); $apps = $appManager->search( filters: [ 'title' => 'mobile app' 'owner' => 2 ], );
- 创建新应用程序
use dnj\ErrorTracker\Contracts\IAppManager; $appManager = app(IAppManager::class); $app = $appManager->store( title: 'Android mobile app', owner: 1, meta: ['key' => 'value']), userActivityLog: false, );
- 更新应用程序
use dnj\ErrorTracker\Contracts\IAppManager; $appManager = app(IAppManager::class); $app = $appManager->update( app: 1, changes: [ 'title' => 'new title', 'owner' => 2, ], userActivityLog: true, );
- 删除应用程序
use dnj\ErrorTracker\Contracts\IAppManager; $appManager = app(IAppManager::class); $appManager->destroy( log: 1, userActivityLog: false, );
与设备协同工作
- 搜索设备
use dnj\ErrorTracker\Contracts\IDeviceManager; $deviceManager = app(IDeviceManager::class); $devices = $deviceManager->search( filters: [ 'title' => 'Nokia Mobile' 'owner' => 2 ], );
- 创建新设备
use dnj\ErrorTracker\Contracts\IDeviceManager; $deviceManager = app(IDeviceManager::class); $device = $deviceManager->store( title: 'Nokia mobile', owner: 1, meta: ['key' => 'value']), userActivityLog: false, );
- 更新设备
use dnj\ErrorTracker\Contracts\IDeviceManager; $deviceManager = app(IDeviceManager::class); $device = $deviceManager->update( device: 3, changes: [ 'title' => 'My Nokia Mobile', 'owner' => 2, 'meta' => ['serialNo' => 55245252] ], userActivityLog: true, );
- 删除应用程序
use dnj\ErrorTracker\Contracts\IDeviceManager; $deviceManager = app(IDeviceManager::class); $deviceManager->destroy( log: 3, userActivityLog: false, );
与日志协同工作
- 搜索设备
use dnj\ErrorTracker\Contracts\ILogManager; use dnj\ErrorTracker\Contracts\LogLevel; $logManager = app(ILogManager::class); $logs = $logManager->search( filters: [ 'apps' => [1,2], 'devices' => [1], 'levels' => [LogLevel::DEBUG], 'message' => 'important flag', 'unread' => true, ] );
- 创建新日志
use dnj\ErrorTracker\Contracts\ILogManager; use dnj\ErrorTracker\Contracts\LogLevel; $logManager = app(ILogManager::class); $log = $logManager->store( app: 1, device: 1, level: LogLevel::INFO, message: 'App has been started', );
- 标记为已读日志
use dnj\ErrorTracker\Contracts\ILogManager; use dnj\ErrorTracker\Contracts\LogLevel; $logManager = app(ILogManager::class); $log = $logManager->markAsRead( log: 44, user: 3 );
- 标记为未读日志
use dnj\ErrorTracker\Contracts\ILogManager; use dnj\ErrorTracker\Contracts\LogLevel; $logManager = app(ILogManager::class); $log = $logManager->markAsUnread( log: 44, );
- 删除日志
use dnj\ErrorTracker\Contracts\ILogManager; $logManager = app(ILogManager::class); $logManager->destroy( log: 44, userActivityLog: true, );
测试
您可以使用 PHP Unit 运行单元测试
./vendor/bin/phpunit
贡献
贡献使开源社区成为一个如此神奇的地方,可以学习、灵感和创造。您所做的任何贡献都将受到极大的赞赏。
如果您有任何改进的建议,请 fork 存储库并创建一个拉取请求。您也可以简单地打开一个带有“增强”标签的问题。别忘了给项目加星!再次感谢!
- fork 项目
- 创建您的功能分支(
git checkout -b feature/AmazingFeature
) - 提交您的更改(
git commit -m 'Add some AmazingFeature'
) - 将更改推送到分支(
git push origin feature/AmazingFeature
) - 打开拉取请求
安全性
如果您发现任何与安全性相关的问题,请通过电子邮件 security@dnj.co.ir 而不是使用问题跟踪器。
许可证
MIT 许可证(MIT)。有关更多信息,请参阅许可证文件。