Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Validation Error Logger Laravel Package

foxen/laravel-validation-error-logger

Log Laravel validation errors automatically from FormRequest classes using a simple trait. Configure the log channel and exclude sensitive fields (e.g., passwords) via a published config file, with per-request overrides available.

View on GitHub
Deep Wiki
Context7

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;
    }
}
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log
hsluv/hsluv
seampact/codegen
seampact/hooks
seampact/ir
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table