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.
To install the package, use composer:
composer require emargareten/client-logger-laravel
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.
To run the tests, use the following command:
composer test
To analyse the code, use the following command:
composer analyse
To format the code, use the following command:
composer format
Please see CHANGELOG for more information on what has changed recently.
The MIT License (MIT). Please see License File for more information.