2016-05-06 6 views
0

Ich habe eine Menge Nachforschungen angestellt (auf der offiziellen Dokumentation, Githubs Probleme Seite und Stackoverflow) über das Protokollieren von Daten in Masstransit (erinnern, dass Log-Features von jeder Protokollimplementierung entkoppelt ist) und sogar auf MassTransit Github berühmte Beispiele wie Sample-ShoppingWeb, Probe-Buchung und Starbucks ich nicht verstehen kann, wie Daten auf Anwendung anmelden ...Wie melde ich mich an?

installierte ich MassTransit.NLog und meinen Bus konfigurierte als Gebrüll:

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

... und einen Blick auf das Tutorial NLog geben https://github.com/NLog/NLog/wiki/Tutorial i das Paket installiert NLog.Config (welche die nuget Abhängigkeiten NLog und NLog.Schema haben) und wurde hinzugefügt an meinem Projekt die Dateien NLog .config und ** NLog.xsd * ... ... Das Problem ist nicht auf NLog selbst, aber ich kann nicht verstehen, wie Informationen über Masstransit anmelden ...

auf meiner OrderStateMachine Klasse Ich mache folgendes

... 
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"); 
... 

Ich weiß nicht einmal, welche Klasse und Methoden sollte ich verwenden (auf Masstransit) ...

Antwort

1

ich verstanden, nur als Argument Instanz eine NLog Fabrik passieren wie folgt: cfg.UseNLog(new LogFactory()); mit diesem der Logger.Get("logfile"); gibt ein Masstransits Abstraktions-Klasse (welche Methoden sollten entsprechend dem gewünschten Protokolllevel aufgerufen werden) ...

Große Abstraktion, so einfach und so cool!