2017-06-14 9 views
0

Serilogをロギングに使用しており、異なるファイルの異なる種類のログを区別できません。ASP NETコアSerilog:リクエスト、レスポンス、例外ログのファイルが異なります

私の要件は次のとおりです。 -

1) Request.log (Daily Rotation) 
2) Response.log (Daily Rotation) 
3) Exception.log (Daily Rotation) 

一つの方法は、例外ログの要求と応答のためのミドルウェア、およびデフォルトファイルを作成することです。

私は次のタスクを実行できる他の方法はありますか?

答えて

3

より一般的なアプローチは、1つのファイルを持つことです。

理由は、ログエントリをより簡単に関連付けることができるからです。あなたが提案している方法では、あなたのパイプラインを通過して失敗する(誰かがスローする)と、クライアントに応答を書くと、3つの異なるファイルに関連するメッセージがあるという要求が送られます。 これはデバッグが難しくなります。

リクエストIDを使用して、そのリクエストのスコープ/コンテキストに設定できます。そうすれば、ログエントリを増やすことができます。その要求に関連するすべてのログエントリ(要求/応答/エラー)は、同じRequestIdを持ちます。この方法で、どのRequestがそのエラーメッセージの生成を終了させたかを確認できます。

関連する問題