2016-09-20 6 views
4

Ich bin neu zu Hangfire, und ich versuche, eine Möglichkeit zum Protokollieren der Ereignisse mit meinem bestehenden Serilog-Logger in einem asp.net Web-API einzurichten. Hier ist meine Logger Klasse:Log Hangfire-Ereignisse mit bestehenden Serilog

und in meiner Startdatei füge ich den Code aus dem hangfire Dokumentation:

GlobalConfiguration.Configuration 
      .UseSqlServerStorage(Settings.Instance.NLSContextConnectionString); 

     app.UseHangfireDashboard(); 
     app.UseHangfireServer(); 

Mein hangfire funktioniert perfekt, aber wie aktiviere ich hangfire meine serilog machen verwenden?

+0

Gemäß der [Dokumentation] (http://docs.hangfire.io/en/latest/configuration/configuring-logging.html) unterstützt Hangfire automatisch die Protokollierung nach Serilog. Funktioniert das nicht für dich? – PatrickSteele

+0

Nein, es ist nicht traurig. und ich finde die dokumentation wirklich mangelhaft. –

+0

Nicht in Bezug auf Ihr Problem, aber das Fehlen eines 'Log.CloseAndFlush()' -Aufrufs beim Beenden der Anwendung führt zu Problemen (es sei denn, es wird in Ihrem Codebeispiel einfach weggelassen). Prost! –

Antwort

2

Es ist möglich, dass Hangfire seinen eigenen internen Logger initialisiert und zwischenspeichert, bevorCreateLog() von der Anwendung aufgerufen wird.

Um diese Theorie zu testen, versuchen Sie, den Code, der Log.Logger initialisiert, an den Anfang des Startcodes der App zu verschieben, z. in oder ähnlich.