2016-05-06 6 views
0

Я провел много исследований (по официальной документации, странице проблем github и stackoverflow) о том, как регистрировать данные в masstransit (помня, что функции журнала отделены от любой реализации журнала) и даже на известных примерах github masstransit как Sample-ShoppingWeb, Sample-Бронируя и Starbucks я не мог понять, как регистрировать данные о применении ...Как войти в masstransit?

Я установил MassTransit.NLog и настроил мой автобус как ниже:

var bus = BusConfigurator.ConfigureBus((cfg, host) => 
{ 
    ... 
    cfg.ReceiveEndpoint(host, RabbitMqConstants.SagaQueue, e => 
    { 
     cfg.UseNLog(); 
... 

... и давая взглянуть на учебнике NLog https://github.com/NLog/NLog/wiki/Tutorial я установил пакет NLog.Config (которые имеют зависимости NuGet NLog и NLog.Schema) и был добавлен в моем проекте файлы NLog .config и ** NLog.xsd * ... ... проблема не в самой NLog, но я не могу понять, как регистрировать информацию о masstransit ...

в моем классе OrderStateMachine я делаю следующее

... 
Initially(
When(RegisterOrder) 
    .Then(context => 
    { 
     var log = Logger.Get("logfile"); 
     log.Info(context); 
     log.InfoFormat("Register Order {0}", "register"); 
     throw new ArgumentException("Test for monitoring sagas"); 
     log.Error(context); 
     //throw new ArgumentException("Test for monitoring sagas"); 
... 

Я не знаю даже, какой класс и методы я должен использовать (на masstransit) ...

ответ

1

я понял, просто передать в качестве аргумента экземпляр фабрики NLog следующим образом: cfg.UseNLog(new LogFactory()); с этим Logger.Get("logfile"); возвращает Класс абстракции Masstransit (какие методы следует называть в соответствии с желаемым уровнем журнала) ...

Большая абстракция, такая простая и крутая!