Для цього потрібна система сторонніх розробників, а саме Serilog , але я все-таки виявив, що це дуже плавний досвід отримання виводу в якесь місце, де я його бачу.
Спочатку необхідно встановити Serilog в Трасування мийку . Після встановлення вам потрібно налаштувати реєстратор таким чином:
Logger = new LoggerConfiguration()
.MinimumLevel.Verbose()
.WriteTo.Trace()
.CreateLogger();
(Ви можете встановити інший мінімальний рівень або встановити його на значення конфігурації або будь-яку з звичайних функцій Serilog. Ви також можете встановити Trace
реєстратор на певний рівень, щоб замінити конфігурації, або як би ви хочете це зробити.)
Тоді ви просто записуєте повідомлення, і вони відображаються у вікні виводу:
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()