Laravel stores the logs of the project in the file “storage/logs/laravel.log”. If you don’t rotate this file can increase its size a lot, using the most part of the storage, causing problems with a full disk.
To avoid these problems you can add this project to the logrotate of your server. You have to add a new file in the “/etc/logrotate.d/” folder:
$ sudo touch /etc/logrotate.d/my-proyect
Then you have to add the config in this file:
/var/my-project/storage/logs/laravel.log {
    weekly
    missingok
    rotate 12
    compress
    notifempty
    su my-user my-group
    create 700 my-user my-group
}
Now I explain the parameters:
- /var/my-project/storage/logs/laravel.log is the file you want to rotate.
 - weekly will rotate the file each week.
 - missingok will ignore the file if it is missing.
 - rotate 12 keep the logs of the last 12 weeks.
 - notifempty does not rotate the log if it is empty.
 - compress will compress the rotated old log files.
 - su my-user my-group will rotate log files set under this user and group instead of using default user/group (usually root).
 - create 700 my-user my-group will create a new log file with the following permissions.
 
To check this config file you can execute the next command (in debug mode):
$ logrotate -d /etc/logrotate.d/my-proyect
You can find more information with the man command:
$ man logrotate
and in those links:
- How to Use logrotate to Manage Log Files
 - logrotate-(8) manual page
 
Leave a Reply