При вызове HostConfigurator.RunAsLocalSystem()
или аналогичной, библиотека TopShelf выводит несколько строк на консоль.Отключить вывод консоли Topshelf
Как не допустить, чтобы TopShelf выводил эти строки?
При вызове HostConfigurator.RunAsLocalSystem()
или аналогичной, библиотека TopShelf выводит несколько строк на консоль.Отключить вывод консоли Topshelf
Как не допустить, чтобы TopShelf выводил эти строки?
Консольный выход - это информация о регистрации. Если вы используете фреймворк регистрации в Topshelf, строки отображаются в файлах журналов, а не в консоли.
Я рекомендую использовать фреймворк с Topshelf. В любом случае вы всегда должны входить в серьезный проект, и это исключает линии с консоли. Win/выигрыш.
Хотя ответ Уильяма Моррисона является правильным, для блага людей приземления здесь ищу, чтобы включить ведение журнала с Topshelf, вот один из способов с использованием NLog
Шаг 1: Установите следующий через NuGet PackageManager консоли> Установить -Пакет Topshelf PackageManager Консоль> Install-Package TopShelf.NLog
Шаг 2: в лямбда-конфигурации, скажите Topshelf, что вы собираетесь использовать NLog
HostFactory.Run(configurator =>
{
configurator.Service<NotificationEngineService>(svc =>
{
// configure service start, stop etc. here
});
// The below option is add via TopShelf.NLog.dll assembly
configurator.UseNLog();
// Continue configuring
});
Хорошее мышление размещения пример. Благодаря! –
Не беспокойтесь! Upvote? :-) – dotnetguy
вас также может реализовать «NullLogger», https://github.com/Topshelf/Topshelf/blob/develop/src/Topshelf/Logging/LogWriter.cs - это интерфейс, который необходимо реализовать и зарегистрировать, если я правильно помню. – Travis
Это еще один вариант. Для моего собственного назидания, как бы я зарегистрировал 'NullLogger'? –
'HostLogger.UseLogger()' это то, что вы используете для его регистрации. Он находится в пространстве имен Topshelf.Logging. – Travis