[英]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)
。
我正在運行如下命令以打印到文件(帶有 GitBash 的 Windows 10 x64,所以我使用 php.exe 而不是 php):
php.exe artisan command-namespace:command >> result.out
我怎樣才能覆蓋/避免這種情況發生並將完整的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);
}
(或者你想格式化你的數據。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.