Как записать вывод в журнал и распечатать его на терминале в исходном формате в программе C# .NetC#

Место общения программистов C#
Ответить
Гость
 Как записать вывод в журнал и распечатать его на терминале в исходном формате в программе C# .Net

Сообщение Гость »


У меня есть следующий код:

ProcessStartInfo psi = new ProcessStartInfo() { ИмяФайла = "powershell", Аргументы = $"-NoProfile -ExecutionPolicy Bypass -Command \"cd '{strLocation}'; & 'application.exe' 2>&1 | Tee-Object -File '{tempLogFilePath}'; Read-Host 'Нажмите Enter, чтобы закрыть...'\"", UseShellExecute = ложь, CreateNoWindow = false, // Показать окно терминала }; Это работает хорошо, за исключением того, что вывод, выводимый на терминал, не имеет цветов. Приложение.exe при запуске без перенаправления в файл журнала печатает большой объем вывода в нескольких цветах, что упрощает чтение:

См. изображение:
Изображение


Однако при перенаправлении в файл журнала и на терминал вывод на терминал потерял все свое форматирование, включая цвета.

Как я могу реализовать аналогичную функциональность (сохранить вывод в журнале и показать его на терминале), но сохранить форматирование вывода на терминал?

Примечание: если есть лучшее решение, но с использованием другого терминала, кроме PowerShell, я открыт для этого варианта.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»