Laravel 5.1:sendOutputTo()截断日志文件?

时间:2015-07-28 14:52:22

标签: php laravel logging laravel-5

在Laravel 5.1中使用任务调度程序时,我将命令输出重定向到日志文件。它正在按预期工作,除了它每次都在写入之前截断日志文件这一事实。

这不适用于非常有用的日志文件make。

$schedule->command('queue:work')->everyMinute()->sendOutputTo(storage_path() . "/logs/mail.log");

我找不到任何关于在laravel docs中阻止此截断的内容。

有谁知道如何防止这种行为?

2 个答案:

答案 0 :(得分:2)

在Laravel 5.3中,他们添加了执行该工作的选项appendOutputTo()。更容易:)

$schedule->command('emails:send')
     ->daily()
     ->appendOutputTo($filePath);

在文档appendOutputTo in documentation

中查看

答案 1 :(得分:0)

You can not do this with Event class. This will help:

$schedule->command('queue:work')->everyMinute()->sendOutputTo(storage_path() . "/logs/mail.recent");
File::append(storage_path() . "/logs/mail.log", File::get(storage_path() . "/logs/mail.recent"));

Not very beautifull but the only way as i know. Also dont forget to add use File; to the top