限制 Laravel 日志文件大小

Tal*_*l C 4 php laravel laravel-5.8

我是 Laravel 的新手,我们使用的是 Laravel 5.8,我看过一些恐怖故事,其中日志设置为每日轮换,但仍然达到 1GB 以上(我看到有人的日志一夜之间达到了 400GB 以上)。有没有办法分割日志文件和/限制可以创建的总日志大小,这样我就不会用完整个服务器存储并使其变得无用。

我查遍了所有内容,除了创建一个 cron 作业或在这种情况下我不喜欢的东西之外,没有发现任何其他东西可以做到这一点。提前致谢。

zah*_*ade 8

在Linux中,有一个名为 的概念logrotate,它可以根据日期或大小来管理任何日志文件。我认为在 Laravel 中根据大小管理日志文件,这logrotate是一个可以接受的选择。欲了解更多信息: 链接1 链接2

样本:

  1. 为您的应用程序创建一个文件: sudo touch /etc/logrotate.d/yourappname

  2. 文件的内容yourappname类似于:

   

<your-project-directory-absolute-path>/storage/logs/*.log {
        size 10k
        missingok
        rotate 7
        compress
        notifempty
        create 0644  www-data  www-data
        su www-data www-data
   }

Run Code Online (Sandbox Code Playgroud)