単一の Windows ホストからホストしている 2 つの WCF サービスがあります。データをアプリケーション ログに記録するトレース リスナーを使用します。次のコードを構成ファイルに追加しました。
<system.diagnostics>
<switches>
<add name="ReaderService.Switch" value="4"/>
<add name="InfoService.Switch" value="4"/>
</switches>
<trace autoflush="false" indentsize="4">
<listeners>
<add name="EventLogTraceListener"
type="System.Diagnostics.EventLogTraceListener"
initializeData="ReaderServiceLog" />
</listeners>
</trace>
</system.diagnostics>
両方のサービスからのすべてのログが、ソース ReaderServiceLog 名の下に表示されます。私がやりたいことは、各サービスからのログが異なるソース名で表示されるようにすることです。
たとえば、ReaderService からのログは ReaderServiceLog という名前で表示され、InfoService からのログは InfoServiceLog の下に表示されます。次のように構成を変更しました。
<system.diagnostics>
<switches>
<add name="ReaderService.Switch" value="4"/>
<add name="InfoService.Switch" value="4"/>
</switches>
<sources>
<source name="EventLogTraceListener">
<listeners>
<add name="EventLogTraceListener"
type="System.Diagnostics.EventLogTraceListener"
initializeData="ReaderServiceLog" />
</listeners>
</source>
<source name="InfoService">
<listeners>
<add name="EventLogTraceListener"
type="System.Diagnostics.EventLogTraceListener"
initializeData="InfoServiceLog" />
</listeners>
</source>
</sources>
</system.diagnostics>
このコードを使用しました:
private TraceSource ts = new TraceSource("InfoService");
ts.TraceInformation(outputMessage, aslErrorText);
ts.Flush();
しかし、うまくいきません。何も記録しません。
私もこれを試しました。しかし、うまくいきません。
<system.diagnostics>
<switches>
<add name="ReaderService.Switch" value="4"/>
<add name="InfoService.Switch" value="4"/>
</switches>
<sources>
<source name="ReaderService"
switchValue="Information, ActivityTracing">
<listeners>
<add name="EventLogTraceListener"/>
</listeners>
</source>
<source name="InfoService"
switchValue="Information, ActivityTracing">
<listeners>
<add name="EventLogTraceListener"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add name="EventLogTraceListener"
type="System.Diagnostics.EventLogTraceListener"
initializeData="ServiceLog" />
</sharedListeners>
上記と同じ c# コードを使用しました。このコードはログを適切に記録しますが、繰り返しになりますが、両方のサービスで同じ名前になっています。つまり、ServiceLog。
ここで何か不足していますか?または他の方法はありますか。助けてください