Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 5.1:sendOutputTo()截断日志文件?_Php_Laravel_Logging_Laravel 5 - Fatal编程技术网

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

Php Laravel 5.1:sendOutputTo()截断日志文件?,php,laravel,logging,laravel-5,Php,Laravel,Logging,Laravel 5,在Laravel 5.1中使用任务调度器时,我将命令输出重定向到日志文件。除了每次写入日志文件之前都会截断日志文件之外,它的工作方式与预期的一样 这对于一个非常有用的日志文件来说并不重要 $schedule->command('queue:work')->everyMinute()->sendOutputTo(storage_path() . "/logs/mail.log"); 我在中找不到任何有关阻止此截断的内容 有人知道如何防止这种行为吗?使用事件类无法做到这一点。 这

在Laravel 5.1中使用任务调度器时,我将命令输出重定向到日志文件。除了每次写入日志文件之前都会截断日志文件之外,它的工作方式与预期的一样

这对于一个非常有用的日志文件来说并不重要

$schedule->command('queue:work')->everyMinute()->sendOutputTo(storage_path() . "/logs/mail.log");
我在中找不到任何有关阻止此截断的内容


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

使用事件类无法做到这一点。 这将有助于:

$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"));
不是很漂亮,但我知道这是唯一的办法。
也不要忘记添加
使用文件

在文档中查看它

漂亮吗?不,但这是一个聪明的解决方案。谢谢你的提醒,如果找不到更好的,我会试试这个。最后用了这个,效果很好。但是需要注意的是,您必须使用“\File”而不仅仅是“File”来引用全局名称空间,因为文件facade在那些队列进程驻留的任何名称空间中都不可用。我看到文件的别名
$schedule->command('emails:send')
     ->daily()
     ->appendOutputTo($filePath);