Это требует рамки третьей стороны, а именно Serilog, но я тем не менее нашел, что это будет очень гладкий опыт с получением выхода на какое-то место, я могу видеть это.
Сначала вам необходимо установить Serilog's Trace sink. После установки, вы должны настроить регистратор так:.
Logger = new LoggerConfiguration()
.MinimumLevel.Verbose()
.WriteTo.Trace()
.CreateLogger();
(Вы можете установить различный минимальный уровень или установить его на значение конфигурации или любой нормальной функциональности Serilog Вы также можете установить Trace
регистратор до определенного уровня, чтобы переопределить конфиги, или же вы хотите сделать это)
Тогда вы просто журнал сообщений, как правило, и они отображаются в окне Output:.
Logger.Information("Did stuff!");
Это не кажется такой большое дело, поэтому позвольте мне объяснить некоторые дополнения преимущества. Самый большой из них для меня было то, что я мог одновременно войти в оба окна вывода и консоли:
Logger = new LoggerConfiguration()
.MinimumLevel.Verbose()
.WriteTo.Trace()
.WriteTo.Console(standardErrorFromLevel: LogEventLevel.Error)
.CreateLogger();
Это дало мне большую гибкость в плане того, как я потреблял выход, без необходимости дублировать все мои звонки в Console.Write
с Debug.Write
. При написании кода я мог бы запустить инструмент командной строки в Visual Studio, не опасаясь потерять свой вывод, когда он выйдет. Когда я развернул его и вам нужно было что-то отладить (и у него не было доступной Visual Studio), вывод консоли был легко доступен для моего потребления.Эти же сообщения также могут записываться в файл (или любой другой приемник), когда он запускается в качестве запланированной задачи.
Суть в том, что использование Serilog для этого облегчает отправку сообщений во множество пунктов назначения, гарантируя, что я всегда могу получить доступ к выходному независимо от того, как я его запускал.
Он также требует очень минимальной настройки и кода.
попробуйте использовать 'Debug.WriteLine()' –
Поскольку это более старое сообщение, я добавлю это как комментарий для тех, кто спотыкается о вопросе. Вместо фактического изменения кода вы также можете использовать специальные точки останова, называемые точками трассировки. См. [Документация MSDN] (http://msdn.microsoft.com/en-us/library/vstudio/232dxah7 (v = vs.100) .aspx) –
Просто напоминание о том, что Debug.WriteLine() будет работать только при запуске в Debug. Это означает, что он работает с F5, а не с CTRL-F5. Это легко пропустить. –