私は自分のウェブサイトで発生したイベントに関連するいくつかのプロパティを持つオブジェクトを持っています。Serilog with Seq - メッセージテキストに配置しないでプロパティを追加する
このイベントをログに記録し、それぞれのプロパティがSeq-asプロパティに表示されるようにしたいとします。しかし、実際のログメッセージテキストからほとんどのプロパティを省略したいので、私はメッセージテンプレートにそれらを必要としません。 V
私はこれを行う場合:
var logInfo= new LogInfo() {Foo = 1, Bar= "Pending"};
logger.Information("{@event}", logInfo);
を直接ログに対して配列に点灯唯一のプロパティは、@eventプロパティです。
だから私はこれを試してみました:
var enricher = new DnnLogInfoEnricher(logInfo);
using (LogContext.PushProperties(enricher))
{
Log.Logger.Information("Event: {logInfo}", logInfo.LogTypeKey, logInfo.Exception);
}
しかし、このアプローチには私の懸念は、この方法として、倍の膨大な数を発射しようとしていることで、私はそれは実際にはこのようになります毎回新しいエンリッチオブジェクトインスタンスを作成する必要はありません。作成するオブジェクトの数をできるだけ少なくすることが好きです。なぜなら、私はGCの影響を懸念しているからです(恐らく私の懸念は根拠がありません)。 。
これは、私が欲しいもの(つまり豊かなもの)を達成するための正しい/正しい方法ですか、何か不足していますか?
乾杯!