2016-03-03 35 views
5

Jakiejkolwiek wskazówki, jak prawidłowo używać Topshelf.Logging?Sposób korzystania z aplikacji Topshelf.Logging właściwie

Czy przekazałem NLogLogWriter do konstruktora klasy usług?

A jak włączyć wyjście na konsolę?

class Program 
    { 
     #region Properties 
     Topshelf.Logging.NLogLogWriter logger; 
     static string mainLoggerName = "MainLogger"; 
     #endregion 

     static void Main(string[] args) 
     { 
      var nlogLogger = LogManager.GetCurrentClassLogger(); 
      Topshelf.Logging.NLogLogWriter logger = new Topshelf.Logging.NLogLogWriter(nlogLogger, mainLoggerName); 


      HostFactory.Run(x =>         
      { 
       x.Service<ExSPCAgentService>(s =>       
       { 
        s.ConstructUsing(name => new MyAgentService());  

        // s.WhenStarted(tc => tc.Start());    
        s.WhenStarted(tc => 
        { 
         // Add more config options if you need 
         tc.Start(); 
        }); 
        s.WhenStopped(tc => tc.Stop());     
       }); 
       x.RunAsLocalSystem();        
       x.UseNLog(); 
       x.SetDescription("MyAgentService");   
       x.SetDisplayName("MyAgentService");       
       x.SetServiceName("MyAgentService");       

      }); 
     } 
    } 

Odpowiedz

2

Aby określić swoją logger, użyj overload of UseNLog który pozwala określić LogFactory.

Aby zalogować się do konsoli, należy włączyć opcję console target.

+1

Dziękujemy! Druga część dotycząca celu konsoli była przydatna. Chciałbym podać przykład o LogFactory, proszę. –