現在 Autofac を使用しており、AutofacSerilogIntegration を活用して、ILogger がコンクリートに注入されたときにログ コンテキストを自動的に設定しています。統合は、ロガーが挿入されるタイプでロギング コンテキストを設定します。これは Autofac では不当に難しいことではありません。これは、任意の解決に使用できる「準備中」イベントがあるためです...そのため、ILogger の解決を傍受し、その時点で ILogger を強化することができ、Autofac は含まれている型をこのインターセプターから確認できます。コードは次のとおりです: https://github.com/nblumhardt/autofac-serilog-integration/blob/master/src/AutofacSerilogIntegration/ContextualLoggingModule.cs
私は、DryIoc でインターセプトが利用できることを見てきましたが、Autofac アプローチほど単純なものはありません。DryIoc では、インターセプトされるタイプで注入されたコンクリートごとにインターセプターを登録する必要があるようです。 https://bitbucket.org/dadhi/dryioc/wiki/Decorators#markdown-header-decorator-as-interceptor-with-castle-dynamicproxy
DryIoc でこの問題にアプローチするための最善の方法について誰かアドバイスはありますか? これは、比較的一般的でパフォーマンスの高い方法で可能ですか? DryIoc のドキュメントを見た後、注入されるクラスがある種の一般化されたインターセプター (およびグローバルに適用できる) で決定できる場所が表示されないため、これに対する直接的なアプローチはわかりません。 . これは非常に遅いことが知られているため、ロガーからのコールスタックを調べたくありません。
ありがとう