.Net WCF Service Trace-Log mit log-Datei-management (Rollen)

Habe ich einige .Net WCF services, für diese Dienste habe ich die app konfiguriert.config-Datei zum protokollieren der gesendeten und empfangenen Nachrichten in einem .svclog-Datei, die lesbar ist "Service Trace Viewer-Tool" (SvcTraceViewer.exe) . Dieses tool macht die log-Dateien schön deutlich, welche die SOAP-Nachrichten verarbeitet werden.

Habe ich das System verwenden.Diagnostik.XmlWriterTraceListener Zuhörer richtig zu formatieren .svclog Datei zu verarbeiten, die durch das Service Trace Viewer-Tool.

Das problem, das ich habe ist, dass die .svclog Datei zu groß wird & das Service Trace Viewer-Tool unbrauchbar aufgrund zu langsamer Reaktionszeiten.

Das Service Trace Viewer-Tool ist eine Einrichtung zu ermöglichen, einen Teil der log-Datei zu öffnen, wenn die Datei > 40 MB in der Größe, aber das ist noch zu langsam. Es scheint keine Möglichkeit in der app.config-Datei zu konfigurieren .svclog automatisch eine neue Datei erstellen, jeden Tag oder, wenn die Datei bekommt zu einer bestimmten Größe.

Es ist ein text-log-listener namens Microsoft.VisualBasic.Die Protokollierung.FileLogTraceListener, die nicht die Unterstützung einer logfilecreationschedule="Täglich" - Eigenschaft, die sich die log-Datei täglich, jedoch ist die daraus resultierende log-Datei von dieser Hörer ist sehr schwierig, in einem Betrieb Unterstützung person zu verwenden, wie die log Einträge sind nicht gut gemacht und die große xml-docs tragen zur Verwirrung.

Was ist die beste Praxis in diesem Bereich, wie es aussieht, kann ich noch so schreiben Sie einen benutzerdefinierten WCF-log-Erweiterung, die scheint wie overkill, nur um befassen sich mit fehlen eine log-Datei-roll-Funktion in das eingebaute System.Diagnostik.XmlWriterTraceListener log listener /appender.

Ich experimentierte auch mit einem Skript zu stoppen meine Anwendung und benennen Sie die log-Dateien aber dies scheint nicht möglich zu sein, da unter Windows die handle.exe und openfile-Dienstprogramme sind nicht in der Nähe einer geöffneten Datei über ein Netzwerk zu teilen, so kann ich nicht umbenennen /verschieben Sie die alte log-Datei, wenn jemand surfen Sie über ein Netzwerk teilen. Auf dem Postweg eine separate Frage in Kürze.

Dank,
Matt.

  • Wenn es machbar ist, werden Sie nicht haben soll, WCF-Ablaufverfolgung aktiviert alle Zeiten. Es ist konzipiert als ein Ansatz zur Problembehebung, und hat Auswirkungen auf die Leistung. Deaktivieren Sie es in einer Produktionsumgebung ist die beste Praxis.
InformationsquelleAutor MattG | 2012-05-28
Schreibe einen Kommentar