weijiajia / saloonphp-logs-plugin
SaloonPHP Logs Plugin
0.0.6
2025-02-28 09:11 UTC
Requires
- php: ^8.0
- psr/log: ^3.0
- saloonphp/saloon: ^3.0
README
Installation
Install SaloonPHP Logs Plugin using Composer:
composer require weijiajia/saloonphp-logs-plugin
Usage Examples
- Create an ExampleConnector instance:
use Weijiajia\SaloonphpLogsPlugin\Traits\HasLogger; class ExampleConnector extends Connector { use HasLogger; // set default log public function getLogger(): ?LoggerInterface { return new Logger('saloonphp-logs-plugin'); } // custom format request log protected function formatRequestLog(PendingRequest $pendingRequest): ?PendingRequest { $requestClass = $pendingRequest->getRequest()::class; $this->getLogger()?->info("{$requestClass} Request:", [ 'connector' => $pendingRequest->getConnector()::class, 'request' => $requestClass, 'method' => $pendingRequest->getMethod(), 'uri' => (string)$pendingRequest->getUri(), 'headers' => $pendingRequest->headers(), 'config' => $pendingRequest->config()->all(), 'body' => (string)$pendingRequest->body(), ]); return $pendingRequest; } // custom format response log protected function formatResponseLog(Response $response): ?Response { $requestClass = $response->getRequest()::class; $this->getLogger()?->info("{$requestClass} Response:", [ 'status' => $response->status(), 'headers' => $response->headers(), 'body' => $response->body(), ]); return $response; } } $connector = new ExampleConnector(); $connector->withLogger($logger);
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contact
If you have any questions or suggestions, please contact: