Skip to content

emargareten/client-logger-laravel

Repository files navigation

Client Logger for Laravel

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

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.

About

Log HTTP client requests and responses in Laravel

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages