Я использую Symfony 2.0.Получить вывод команды Symfony и сохранить его в файле
Я создал команду в Symfony, и я хочу взять ее вывод и записать его в файл.
Все, что я хочу, это взять все, что написано на стандартном выходе (на консоли), и иметь его в переменной. Все, что я имею в виду, повторяется в команде, исключения, полученные в других файлах, вызываемые командой и так далее. Я хочу вывод как на экране, так и в переменной (чтобы написать содержимое переменной в файле). Я сделаю запись в файле в конце метода execute()
команды.
Что-то вроде этого:
protected function execute(InputInterface $input, OutputInterface $output)
{
// some logic and calls to services and functions
echo 'The operation was successful.';
$this->writeLogToFile($file, $output???);
}
И в файле я хочу иметь:
[Output from the calls to other services, if any]
The operation was successful.
Можете ли вы мне помочь?
Я пытался что-то вроде этого:
$stream = $output->getStream();
$content = stream_get_contents($stream, 5);
но команда не заканчивается таким образом. :(
Вы можете написать свой собственный класс «Применение» и реализовать свой писатель, который реализует «OutputInterface», вы можете увидеть что-то [здесь] (http://symfony.com/doc/2.0/cookbook/console/logging .html # позволяя-аВТОМАТИЧЕСКОЕ исключение каротажа) – Matteo