Использование Console.WriteLine в приложении Windows Forms

У меня есть внешняя DLL, исходный код которой C #. Из документации к DLL я определил, что она записывает свои отладочные сообщения в консоль, используя Console.WriteLine.

Я хотел бы использовать эту DLL в приложении WinForms. Тем не менее, я обнаружил, что не вижу отладочных сообщений, генерируемых DLL, поскольку приложение WinForms не имеет консоли.

Есть ли способ перехватить эти отладочные сообщения, возможно, даже в простой файл журнала? Конечно, использование ProcessInfo.RedirectStandartOutputне будет работать, так как я не использую DLL как процесс.

14.12.2008 09:42:14
2 ОТВЕТА
РЕШЕНИЕ

Вызовите Console.SetOut с помощью TextWriter, которым вы управляете (например, StringWriter).

14
14.12.2008 09:46:20

Вам лучше всего использовать пространство имен System.Diagnostics и Debug.WriteLine. Debug поддерживает «слушатели», которые могут быть добавлены во время выполнения или через файлы app / web.config. Например:-

  Debug.Listeners.Add(new ConsoleTraceListener())

Если вы внедрили какую-либо пользовательскую запись в журнал отладки в качестве прослушивателя трассировки, вы можете очень легко перехватить приложение трассировки сообщений.

4
14.12.2008 11:32:52