foxen/laravel-validation-error-logger

A Laravel package to log validation errors.
262
Install
composer require foxen/laravel-validation-error-logger
Latest Version:v1.1.0
PHP:^8.3
Laravel:12 · 13
Older releases:10 · 11
License:MIT
Last Updated:Apr 3, 2026
Links: GitHub  ·  Packagist
Maintainer: mrdth

Laravel Validation Error Logger

This package provides a simple trait to log validation errors in your Laravel application.

Installation

Install the package via composer:

composer require foxen/laravel-validation-error-logger

Configuration

Publish the configuration file:

php artisan vendor:publish --provider="Foxen\LaravelValidationErrorLogger\ServiceProvider"

This will create a config/validation-error-logger.php file in your application. Here you can configure the default logging channel and global fields to be excluded from logging.

<?php

return [
    /*
    |--------------------------------------------------------------------------
    | Log Channel
    |--------------------------------------------------------------------------
    |
    | This option defines the default log channel that will be used to log
    | validation errors. You can use any of the channels defined in your
    | `config/logging.php` file. The default is 'stack'.
    |
    */
    "log_channel" => env(
        "LOG_VALIDATION_ERRORS_CHANNEL",
        env("LOG_CHANNEL", "stack")
    ),

    /*
    |--------------------------------------------------------------------------
    | Exclude Fields From Logging
    |--------------------------------------------------------------------------
    |
    | This option allows you to specify a list of fields that should be
    | excluded from the logged data. This is useful for preventing sensitive
    | information from being written to your logs. By default, standard password
    | fields are already included.
    */
    'exclude_from_logging' => [
        'password',
        'password_confirmation',
    ],
];

Usage

To use the trait, simply import and use it in your FormRequest class:

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;
use Foxen\LaravelValidationErrorLogger\LogsValidationErrors;

class MyRequest extends FormRequest
{
    use LogsValidationErrors;

    public function rules()
    {
        return [
            'name' => 'required',
        ];
    }

    public function authorize()
    {
        return true;
    }
}

Customizing the Log Channel

You can override the default log channel by setting the $logChannel property in your request class:

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;
use Foxen\LaravelValidationErrorLogger\LogsValidationErrors;

class MyRequest extends FormRequest
{
    use LogsValidationErrors;

    protected $logChannel = 'custom_channel';

    public function rules()
    {
        return [
            'name' => 'required',
        ];
    }

    public function authorize()
    {
        return true;
    }
}

Excluding Fields from Logging

You can exclude fields from being logged by setting the $excludeFromLogging property in your request class:

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;
use Foxen\LaravelValidationErrorLogger\LogsValidationErrors;

class MyRequest extends FormRequest
{
    use LogsValidationErrors;

    protected $excludeFromLogging = ['password', 'password_confirmation'];

    public function rules()
    {
        return [
            'name' => 'required',
            'password' => 'required|confirmed',
        ];
    }

    public function authorize()
    {
        return true;
    }
}

Related Packages

mikemclin/laravel-wp-password

Laravel package that checks and creates WordPress password hashes

3,711,179 86
nnjeim/world

Laravel countries, states, cities, currencies, languages and IP geolocation

645,624 993
kavenegar/laravel

laravel 4 and 5 kavenegar integration

379,097 86

Version History

Version Released PHP Laravel License
v1.1.0 ^8.3 ^12.0|^13.0 MIT
v1.0.0 ^8.3 ^10.0|^11.0|^12.0 MIT