How to Create Custom Log File in Laravel? (ok)

https://www.itsolutionstuff.com/post/how-to-create-custom-log-file-in-laravelexample.html

C:\xampp\htdocs\reset\routes\web.php

<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
 */
use App\Http\Controllers\HomeController;
Route::get('/', function () {
  dd('Welcome to simple user route file.');
});
Auth::routes();
Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
Route::get('create-custom-log', function () {
    \Log::channel('itsolution')->info('This is testing for ItSolutionStuff.com!');
    dd('done');
});

C:\xampp\htdocs\reset\config\logging.php

'channels' => [
    'itsolution' => [
        'driver' => 'single',
        'path' => storage_path('logs/itsolution.log'),
        'level' => env('LOG_LEVEL', 'info'),
    ],

C:\xampp\htdocs\reset\storage\logs\itsolution.log

[2022-05-13 07:29:37] local.INFO: This is testing for ItSolutionStuff.com!  
[2022-05-13 07:31:27] local.INFO: This is testing for ItSolutionStuff.com!  

How to Create Custom Log File in Laravel?

Laravel by default provide storage/logs/laravel.log file location where it will display log file. but sometime you may require to create log file with specific task. for example, if you are working with payment task and you need all logs separately log file for payment, so you can easily find out solution.

here, i will give you very simple example, so let's see how to add custom channel with new log file location. add new key "itsolution" on "channels" array.

config/logging.php

...'channels' => [        ...        'itsolution' => [            'driver' => 'single',            'path' => storage_path('logs/itsolution.log'),            'level' => 'info',        ],....

Route Code:

Route::get('create-custom-log', function () {      \Log::channel('itsolution')->info('This is testing for ItSolutionStuff.com!');    dd('done');     });

now you can check your own.

storage/logs/itsolution.log

Read Also: Laravel Migration Custom Index Name Example

[2021-04-13 11:46:41] local.INFO: This is testing for ItSolutionStuff.com!  

I hope it can help you...

Last updated