Я запускаю внешний процесс из java, используя стандарт java.lang.Process
. Я пытаюсь выяснить, каков результат процесса, но в формате, который сочетает в себе как stdout
, так и stderr
.Запуск внешнего процесса с Java: stdout и stderr
В настоящее время у меня есть Process#getInputStream
, который обеспечивает доступ к stdout
и Process#getErrorStream
, что обеспечивает доступ к stderr
. Это все хорошо, за исключением того, что мы не можем заказать вывод из stdout и stderr по их метке времени.
Say процесс имеет выход так:
- Одна линия (А) записывается в стандартный вывод
- Одна линия (B) записывается в стандартный вывод
- Одна линия (C) на стандартный вывод
Java не позволит нам знать, что строка (B) была записана после (A) и до (C). Я хотел бы знать, есть ли способ слияния stdout и stderr внешнего процесса, чтобы мы знали, в каких операциях заказа были напечатаны для вывода.
Просто быстро q, Являются ли эти выходы процессов, которые невозможно захватить на Java? Поскольку в противном случае это уровни журналов, которые вы последовательно отмечали в файлах журналов –