Die Anwendung, die ich erstelle, stellt mehrere WCF-Dienste (A, B) zur Verfügung. Intern verbraucht es mehrere andere WCF-Dienste, die in unserem internen Netzwerk (X, Y) ausgeführt werden.Ignorieren bestimmter WCF-Dienste von WCF-Ablaufverfolgungsprotokollen
Mit WCF-Nachrichtenprotokollierung möchte ich nur protokollieren Verkehr zwischen unseren Diensten A, B und den externen Clients, die sie anrufen.
Keine Daten zwischen meinen Diensten (A, B) und den Back-End-Diensten (X, Y) sollten von WCF protokolliert werden.
Filterung über system.serviceModel/Diagnose/messageLogging/Filter war teilweise erfolgreich:
<filters>
<add nodeQuota="10" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
/s:Envelope/s:Header/*[contains(text(),"MyServiceA")]
</add>
<add nodeQuota="10" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:a="http://schemas.microsoft.com/ws/2005/05/addressing/none">
/s:Envelope/s:Header/a:Action[contains(text(),"MyServiceA")]
</add>
</filters>
Dies ist jedoch Antworten von unserem Service, wie SOAP Antworten erfassen nicht filtern auf keinen Text enthalten.
Die WCF MessageLogTraceRecord hat enthalten die SOAP-Aktion, aber ich kann nicht einen Filter zu konstruieren, scheint es Zugang:
<MessageLogTraceRecord>
<Addressing xmlns="http://schemas.microsoft.com/2004/06/ServiceModel/Management/MessageTrace>
<Action>http://opia.api.translink.com.au/ApiLocationService/2012/04/IApiLocationService/ResolveInputServiceFaultFault</Action>
</Addressing>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
...
WCF Nachrichtenprotokollierung und beenden Verfolgung zu beenden sind mit allen Optionen aktiviert eingestellt wahr. ActivityTracing und Warning Level Logging sind aktiviert.
Sie würden filtern möchten, weil Sie besorgt über die Dateigröße oder Rauschen sind? MS Service Trace Viewer UI ist ziemlich gut zu filtern. –
Hauptsächlich Lärm. Die "inneren" Dienste sind äußerst gesprächig, ein Anruf bei unserem Service umfasst 30+ Anrufe an ihre. Die interne Serviceschnittstelle ist jedoch gut getestet und es können keine Änderungen daran vorgenommen werden. – geoffreys