У меня есть приложение Elixir, где я создаю внешний процесс, используя Porcelain
. Созданный процесс STDOUT доступен мне как поток текста как proc.out
(в форме #Function<59.89908360/2 in Stream.unfold/2>
).Записать поток Поток текста
Я могу распечатать содержимое потока по строкам, используя IO.stream/2
, но я бы прямо хотел это сделать, используя Logger.info
. Это то, что она в настоящее время выглядит следующим образом:
proc = Porcelain.spawn("node", ["/path/to/node/server.js"], [out: :stream])
stream = proc.out
Enum.into(stream, IO.stream(:stdio, :line))
В настоящее время я пытался:
[out: Logger.info]
Enum.into(proc.out, Logger.info)
'Enum.each' может быть немного быстрее и более идиоматических, так как вы не собираетесь использовать возвращаемое значение' logger.info/1'. – Dogbert
Спасибо @dogbert. Я буду использовать это. – Sheharyar