How to log data in JSON in Laravel

Better Stack Team
Updated on October 5, 2023

Logging data in JSON format in Laravel can be done using the built-in Monolog logging library that Laravel uses under the hood.

Here are the steps to configure Laravel to log data in JSON format:

  1. Open the config/logging.php file in your Laravel project.
  2. In the channels array, create a new channel for logging in JSON format:
 
'json' => [
    'driver' => 'daily',
    'path' => storage_path('logs/laravel.json'),
    'level' => 'debug',
    'days' => 14,
],

This configuration sets up a new channel named json that logs data in a daily rotating file located in the storage/logs directory with a name laravel.json. The logging level is set to debug and logs will be retained for 14 days.

  1. Update the stack channel to include the json channel:
 
'stack' => [
    'driver' => 'stack',
    'channels' => ['single', 'json'],
],

This will ensure that logs are written to both the default single channel (which logs in plain text) and the new json channel.

  1. Use the Log facade to log data in JSON format:
 
Log::channel('json')->debug(json_encode(['key' => 'value']));

This will log a JSON object in the json channel.

With these steps, Laravel will now log data in JSON format in addition to the default plain text format.

Got an article suggestion? Let us know
Explore more
Licensed under CC-BY-NC-SA

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Make your mark

Join the writer's program

Are you a developer and love writing and sharing your knowledge with the world? Join our guest writing program and get paid for writing amazing technical guides. We'll get them to the right readers that will appreciate them.

Write for us
Writer of the month
Marin Bezhanov
Marin is a software engineer and architect with a broad range of experience working...
Build on top of Better Stack

Write a script, app or project on top of Better Stack and share it with the world. Make a public repository and share it with us at our email.

community@betterstack.com

or submit a pull request and help us build better products for everyone.

See the full list of amazing projects on github