Laravel log - single file or files by date?

Tutorial last revisioned on October 07, 2022 with Laravel 9
Laravel logging mechanism is pretty simple - it writes all the errors to a file at /storage/logs/laravel.log. It's convenient until the file gets bigger. And then you have a problem to find a bug from yesterday or some days ago. How can you solve this? Basically, the real problem looks like this: you SSH to your server, go to /storage/logs folder and run ls -l command for the files list with information. And see this:
-rw-rw-r-- 1 forge forge 31580639 Jul  4 07:52 laravel.log
True story from one of my projects - laravel.log file is 31 MB. It's pretty difficult to find anything there, if a client reports that "unknown bug" happened to him a few days ago. Luckily, it's really easy to change - it's only one setting in config/logging.php file:
    'channels' => [
        'stack' => [
            'driver' => 'stack',
            'channels' => ['single'],
            'ignore_exceptions' => false,
        ],
As you can see, by default the channel is single file, but you can change it to daily (or others, leaving that for you to explore).

When you change the setting to daily, instead of one laravel.log - you will get separate file for each date - something like laravel-2022-10-07.log.

Read more in the official documentation.

No comments or questions yet...

Like our articles?

Become a Premium Member for $129/year or $29/month
What else you will get:
  • 58 courses (1056 lessons, total 44 h 09 min)
  • 78 long-form tutorials (one new every week)
  • access to project repositories
  • access to private Discord

Recent Premium Tutorials