2014-11-12 6 views

ответ

1

Консольный выход - это информация о регистрации. Если вы используете фреймворк регистрации в Topshelf, строки отображаются в файлах журналов, а не в консоли.

Я рекомендую использовать фреймворк с Topshelf. В любом случае вы всегда должны входить в серьезный проект, и это исключает линии с консоли. Win/выигрыш.

+0

вас также может реализовать «NullLogger», https://github.com/Topshelf/Topshelf/blob/develop/src/Topshelf/Logging/LogWriter.cs - это интерфейс, который необходимо реализовать и зарегистрировать, если я правильно помню. – Travis

+0

Это еще один вариант. Для моего собственного назидания, как бы я зарегистрировал 'NullLogger'? –

+0

'HostLogger.UseLogger()' это то, что вы используете для его регистрации. Он находится в пространстве имен Topshelf.Logging. – Travis

1

Хотя ответ Уильяма Моррисона является правильным, для блага людей приземления здесь ищу, чтобы включить ведение журнала с 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 

      }); 
+0

Хорошее мышление размещения пример. Благодаря! –

+0

Не беспокойтесь! Upvote? :-) – dotnetguy

Смежные вопросы