jezzdk/laravel-request-log

Log all requests in the database.

1.0.1 2020-09-15 10:56 UTC

This package is auto-updated.

Last update: 2024-12-15 21:03:33 UTC


README

Latest Version on Packagist Total Downloads

Log all requests in the database. This package will not store payloads.

Installation

You can install the package via composer:

composer require jezzdk/laravel-request-log

You can publish and run the migrations with:

php artisan vendor:publish --provider="Jezzdk\LaravelRequestLog\RequestLogServiceProvider" --tag="migrations"
php artisan migrate

You can publish the config file with:

php artisan vendor:publish --provider="Jezzdk\LaravelRequestLog\RequestLogServiceProvider" --tag="config"

This is the contents of the published config file:

return [

    /**
     * Enable the request log (default is false).
     */
    'enabled' => env('REQUEST_LOG_ENABLED', false),

    /**
     * Max age in days.
     *
     * Entries older than this will be deleted by the scheduled task.
     */
    'max_age' => 90,

    /**
     * The model used for storing the request data.
     *
     * You might want to override this if you're using a multi-tenancy package,
     * or if you want to store other data.
     */
    'model' => Jezzdk\LaravelRequestLog\RequestLog::class,

];

Usage

Add the following middleware anywhere in the middleware stack where you want to log requests:

// app/Http/Kernel.php
protected $middleware = [
    ...
    \Jezzdk\LaravelRequestLog\Middleware\LogRequest::class
]

Add the clean command as a scheduled task:

// app/Console/Kernel.php

$schedule->command('request-log:clean')->daily();

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Security

If you discover any security related issues, please email jess@stopa.dk instead of using the issue tracker.

License

The MIT License (MIT). Please see License File for more information.