moktech / mocklogger-sdk
Mocklogger SDK 是一个 Laravel 扩展包,旨在帮助开发者轻松集成 Mocklogger 日志工具。
1.0.92
2024-01-12 15:19 UTC
Requires
- php: ^7.3|^8.0
README
MockLogger SDK 提供了 Laravel 应用程序请求和响应数据记录的功能。此 SDK 提供了捕获和记录相关于传入 HTTP 请求及其响应数据的记录方法。
使用 MockLogger SDK,您可以轻松地捕获和记录 HTTP 请求和响应数据,帮助您监控和分析应用程序与外部服务和用户操作之间的交互。
安装
要开始使用 MockLogger SDK,请按照以下步骤进行安装
安装 SDK
使用 Composer 安装 MockLogger SDK
composer require moktech/mocklogger-sdk
发布配置
使用 Artisan 发布 MockLogger SDK 配置文件
php artisan vendor:publish --tag=mocklogger-config
注册服务提供者
打开 config/app.php 文件,并将服务提供者添加到 providers 数组中
'providers' => [ // ... Moktech\MockLoggerSDK\MockloggerServiceProvider::class, ],
设置环境变量
在应用程序的 .env 文件中设置以下环境变量。您可以从 Mocklogger 应用程序中获取这些值
MOCKLOGGER_HOST_URL=https://:8000 MOCKLOGGER_APP_ID="My Application" MOCKLOGGER_APP_KEY=c3ce75317d9c876d209a9f439b345345 MOCKLOGGER_APP_API_TOKEN=EomxCzUG0HFukdRWgKL26ThXuRstFTW
使用方法
安装并配置 MockLogger SDK 和环境后,现在您可以开始使用它来记录请求和响应数据。以下是使用 SDK 的两种方法
方法 1: 使用 sendLog
在您的 Terminable Middleware (Sunctum 受保护的 URL) 中使用此方法。
use Moktech\MockLoggerSDK\MockLogger; class TerminableMiddleware { protected $logger; public function __construct(MockLogger $logger) { $this->logger = $logger; } public function handle(Request $request, Closure $next): Response { return $next($request); } public function terminate(Request $request, Response $response) { try { $this->logger->sendLog($request, $response); } catch (\Throwable $th) { Log::info($th->getMessage()); } } }
方法 2: 使用 sendData
您还可以手动组装请求和响应数据,并使用 sendData 方法来记录它。
use Moktech\MockLoggerSDK\MockLogger; $data = [ "request" => [ 'user' => [ 'name' => 'Kevin Muchwat', 'email' => 'kevinmuchwat@gmail.com', ], 'ip_address' => $request->ip(), 'full_url' => $request->fullUrl(), 'route_name' => $request->route()->getName(), 'method' => $request->method(), 'payload' => $request->all(), 'agent' => $request->userAgent(), ], "response" => [ 'status_code' => $response->getStatusCode(), 'content' => $response->getContent(), 'format' => $response->headers->get('content-type'), 'location' => $response->headers->get('location'), ], ]; $logger = new MockLogger(); $logger->sendData($data);
服务器健康监控
MockLogger SDK 允许您通过在 CPU、内存和硬盘空间上设置使用限制来保持最佳的服务器性能。如果超出任何这些限制,SDK 将自动将详细日志发送到在 config/mocklogger.php 中配置的管理员电子邮件。
return [ ... // Configure server health monitor. 'monitor' => [ // Specify the web server service running, e.g., 'nginx' or 'apache2'. 'server_service' => 'nginx', // Set email configuarations, default is 4 emails per 30mins interval. 'email' => [ // Set time interval to get emails (minutes), default is 30 minutes 'interval' => 30, // Set number of emails to be sent in an interval, default is 4 emails. 'count' => 4, ], // Configure thresholds for resources. 'thresholds' => [ // Set the CPU usage threshold (percentage). 'cpu_usage' => env('MOCKLOGGER_CPU_THRESHOLD', 90), // Set the memory usage threshold (percentage). 'memory_usage' => env('MOCKLOGGER_MEMORY_THRESHOLD', 80), // Set the hard disk drive usage threshold (percentage). 'hard_disk_space' => env('MOCKLOGGER_HDD_THRESHOLD', 80), ], ], ]
要开始监控您的服务器,请运行此命令
php artisan mocklogger:monitor
为了持续监控,您可以使用 cron job 安排此命令。使用此工具轻松监控服务器。