場合によっては、メッセージ テンプレートに含めることなく、コンテキスト情報をメッセージ(たとえば、現在認証されているユーザー)に追加したいと考えています。
私はこれを達成したいと思います:
logger.Information("Doing stuff {Foo} with the thing {Bar}. {User}", foo, bar, user)
ただし{User}
、テンプレートにはありません。
私はすでに知ってLogContext
いますが、コンテキスト情報を 1 つのイベントだけに追加する場合、それはやり過ぎのように思えます。
また、どのプロパティを含めるかを実際に制御するために低レベル API を使用できることも知ってlogger.Write(LogEvent evnt)
いますが、これは私が達成しようとしているコードに対して少し多すぎるように思えます。
非常に明白な短くてエレガントな方法があると確信していますが、私はそれを見つけていません:)
アップデート :
この質問が多かれ少なかれ似ていることを後で初めて知りました: Add custom properties to Serilog