私たちのショップには、Web サービス呼び出しを介してリポジトリにイベントを送信する TraceListener があります。独自の TraceSource に使用しますが、System.ServiceModel や System.Activities などの他の TraceSource にも使用できるようにしたいと考えています。
<source name="System.ServiceModel" switchValue="Warning, ActivityTracing" propagateActivity="true">
<listeners>
<add name="TheSharedListenerInQuestion" />
</listeners>
</source>
問題は、WCF クライアント呼び出しを使用して TraceListener 内で書き込みを行うことです。System.ServiceModel tracesource がリスナーにアタッチされている場合、ループに陥ります。たとえば、内部クライアント呼び出しを起動するイベントをトレースします。 WCF tracesource が TraceEvent を起動し、ループが発生します。
内部 WCF 呼び出しで WCF トレースソースが起動しないようにするにはどうすればよいですか?