emargareten / client-logger-laravel
Log HTTP client requests and responses in Laravel
Requires
- php: ^8.1
- ext-json: *
- guzzlehttp/guzzle: ^7.0
- illuminate/http: ^10.0|^11.0
- illuminate/support: ^10.0|^11.0
Requires (Dev)
- laravel/pint: ^1.13
- orchestra/testbench: ^8.21
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.5
- timacdonald/log-fake: ^2.1
This package is auto-updated.
Last update: 2024-10-08 15:55:23 UTC
README
The Client Logger is a Laravel package designed to log HTTP client requests and responses. It is user-friendly and offers a high degree of customization.
Installation
To install the package, use composer:
composer require emargareten/client-logger-laravel
Usage
After installing the package, you may publish the configuration file with the following command (optional):
php artisan vendor:publish --provider="Emargareten\ClientLogger\ClientLoggerServiceProvider"
The package adds a log
method to the PendingRequest
class. This method can be used to log the request and response of an HTTP request:
use Illuminate\Support\Facades\Http; $response = Http::log('Example message...')->get('https://example.com');
This will create a log entry with the following information (in the context):
method
: The HTTP method of the request.uri
: The URI of the request.headers
: The headers of the request.payload
: The payload of the request.response_status
: The status code of the response.response_headers
: The headers of the response.response
: The body of the response.
It is also possible to change the config for a given log by passing an array as the second argument:
Http::log('Example message...', [ 'hidden_request_headers' => ['x-api-key'], ])->get('https://example.com');
Here are some of the available config options:
channel
: The channel to use for the log.level
: The level to use for the log (can be set separately for each status code or entirely disabled for a given status code).hidden_request_headers
: An array of headers that should be masked in the log.hidden_request_params
: An array of request parameters that should be masked in the log.hidden_response_headers
: An array of headers that should be masked in the log.hidden_response_params
: An array of response parameters that should be masked in the log.
Please see the config file for all available options.
Testing
To run the tests, use the following command:
composer test
Code Analysis
To analyse the code, use the following command:
composer analyse
Code Formatting
To format the code, use the following command:
composer format
Changelog
Please see CHANGELOG for more information on what has changed recently.
License
The MIT License (MIT). Please see License File for more information.