Php Laravel 5.1:sendOutputTo()截断日志文件?
在Laravel 5.1中使用任务调度器时,我将命令输出重定向到日志文件。除了每次写入日志文件之前都会截断日志文件之外,它的工作方式与预期的一样 这对于一个非常有用的日志文件来说并不重要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"); 我在中找不到任何有关阻止此截断的内容 有人知道如何防止这种行为吗?使用事件类无法做到这一点。 这
$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"));
不是很漂亮,但我知道这是唯一的办法。
也不要忘记添加
使用文件在Laravel 5.3中,他们在顶部添加了appendOutputTo()选项,该选项由谁来执行任务。更容易:)
在文档中查看它漂亮吗?不,但这是一个聪明的解决方案。谢谢你的提醒,如果找不到更好的,我会试试这个。最后用了这个,效果很好。但是需要注意的是,您必须使用“\File”而不仅仅是“File”来引用全局名称空间,因为文件facade在那些队列进程驻留的任何名称空间中都不可用。我看到文件的别名
$schedule->command('emails:send')
->daily()
->appendOutputTo($filePath);