2016-09-20 5 views
4

新しいものがhangfireに追加されました。また、asp.net Web APIの既存のSerilog Loggerを使用してイベントを記録する方法を設定しようとしています。ここに私のロガークラスは次のとおりです。既存のserilogを使用してhangfireイベントをログに書きます

と私のスタートアップファイルに私はhangfireのドキュメントからのコードを追加します。

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

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

私hangfireは完璧に動作しますが、どのように私はhangfireが私serilogを使うように有効にするには?

+0

[documentation](http://docs.hangfire.io/en/latest/configuration/configuring-logging.html)によると、HangfireはSerilogへのロギングを自動的にサポートします。それはあなたのために働いていないのですか? – PatrickSteele

+0

いいえ、悲しいことです。私はドキュメンテーションが本当に欠けていると思う。 –

+0

あなたの問題とは関係ありませんが、アプリケーション終了時に 'Log.CloseAndFlush()'呼び出しがないと、問題が発生します(単純にコードサンプルから省略されていない限り)。乾杯! –

答えて

2

それはHangfireがCreateLog()前には、アプリケーションによって呼び出されている独自の内部ロガーを初期化し、キ​​ャッシュされている可能性があります。

この理論をテストするには、Log.Loggerを初期化するコードをアプリのスタートアップコードの先頭に移動してみてください。 Global.Application_Start()または類似の。

関連する問題