Print/Save 完成 Laravel Artisan 命令输出(来自调试行的大数组)到文件

Print/Save complete Laravel Artisan Command output(large array from debug line) to file

我在 Laravel 6.x 项目中工作,我在 Artisan 命令中添加了调试行,以将从该行生成的大数组作为输出输出到文本文件中。

在上述命令的 handle 方法中看起来几乎像以下代码:

....
if(!$dataArray->isEmpty())
{
    foreach ($dataArr as $dataEle)
    {
        $dataArrToPrnt[] = $dataEle->toArray();
        ....
    }
}
die(var_dump($dataArrToPrnt));
....

但问题是 dataArray 很大,所以输入几条后,命令输出会跳过其余数据并打印 (...more elements)

而我是 运行 如下命令打印到文件(Windows 10 x64 与 GitBash,所以我使用 php.exe 而不是 php):

php.exe artisan command-namespace:command >> result.out

我怎样才能 override/avoid 不考虑它的大小并将完整的 dataArray 打印到文件中?

尝试使用全局日志。将日志记录通道添加到您的 config/logging.php 文件,如下所示:

'dataLogger' => [
    'driver' => 'daily',
    'path' => storage_path('logs/data.log'),
    'level' => 'info',
],

并在您的代码中使用:

use Log; 
foreach ($dataArr as $dataEle){
    Log::channel('dataLogger')->info($dataEle);
}

(或者您希望格式化您的数据。)