У меня есть команда, которая выводит несколько строк:
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$this->line('');
$this->info('--------------------------------------------------------');
$this->info('----------------- Compress documents -------------------');
$this->info('--------------------------------------------------------');
$this->line('');
$progressBar = $this->output->createProgressBar(3);
$this->info('Selecting files...');
// ...
$progressBar->advance();
$this->info('Processing...');
// ...
$progressBar->advance();
$this->info('Moving files...');
// ...
$progressBar->advance();
$this->info('--------------------------------------------------------');
$this->info('------------------------ Result ------------------------');
$this->info('--------------------------------------------------------');
// ...
$this->info('Output quality: '.$resolution.'%');
$this->info('Processed files: '.sizeof($files));
$this->info('Original size: '.number_format($originalPathSize, 3).'MB');
$this->info('Compressed size:'.number_format($compressedPathSize, 3).'MB');
$this->info('Improvement: '.number_format($compressedPathSizeDiff, 3).'MB ('.number_format($compressedPathSizeDiffPercent, 3).'%)');
$this->info('Total time: '.$timeFormatted);
// ...
$this->table($headers, $rows);
$this->info('Ready!');
}
Работает как шарм.
Проблема в том, что теперь мне нужно выполнить эту команду на производственном сервере (через SSH), и обработка всех файлов может занять несколько часов. Очевидно, я не хочу оставаться в системе в течение этого периода, чтобы увидеть вывод консоли.
Как и при планировании задач, есть какой-то способ «автоматически» записать вывод команды консоли в файлы журнала?