WCF-Protokollierung, maximale Dateigröße einstellen?

8

Ich verwende den Microsoft Service Configuration Editor, um die Diagnose einzurichten (WCF-Protokollierung), und ich finde keine Möglichkeit, die maximale Dateigröße festzulegen?

Ich habe den MaxSizeOfMessageToLog gefunden, aber das macht nichts über die Dateigröße?

Bearbeiten 1: Demnach Ссылка Es sollte eine MaxFileSizeKB auf der SharedListeners-Ebene geben, aber wenn ich Leerzeichen im Add-Tag treffe, bekomme ich keine Möglichkeit, maxFileSizeKB einzugeben?

Edit 2: Beim Hinzufügen der maxFileSizeKB wird der Dienst nicht mehr gestartet, stattdessen bekomme ich folgende Ausnahme:

'maxFileSizeKB' ist kein gültiges Konfigurationsattribut für den Typ 'System.Diagnostics.XmlWriterTraceListener'. Beschreibung: Bei der Ausführung der aktuellen Webanforderung ist eine nicht behandelte Ausnahme aufgetreten. Bitte überprüfen Sie die Stack-Trace für weitere Informationen über den Fehler und wo es aus dem Code stammt. Ausnahmedetails: System.Configuration.ConfigurationErrorsException: 'maxFileSizeKB' ist kein gültiges Konfigurationsattribut für den Typ 'System.Diagnostics.XmlWriterTraceListener'. Quellfehler: Während der Ausführung der aktuellen Webanforderung wurde eine nicht behandelte Ausnahme generiert. Informationen über den Ursprung und den Ort der Ausnahme können anhand der folgenden Ausnahme-Stack-Trace identifiziert werden.

Bearbeiten 3:

Ich musste das Circular TraceListener-Beispiel herunterladen und es in mein Projekt einbinden, es gibt keinen integrierten Dateigrößenbegrenzer.

Meine Konfiguration sieht jetzt so aus:

%Vor%

Dies beschränkt die Nachrichtenprotokolldatei, aber nicht die Ablaufverfolgungsprotokolldatei?

    
Banshee 11.04.2012, 07:01
quelle

2 Antworten

11

Dies liegt daran, dass die Verknüpfung, die Sie angegeben haben, einen benutzerdefinierten Ablaufverfolgungslistener ("Microsoft.ServiceModel.Samples.CircularTraceListener") verwendet, der über eine Eigenschaft "maxFileSizeKB" verfügt.

Es gibt keine eingebaute Funktion, um svclog-Dateien zu begrenzen / rollen, also müssen Sie wirklich einen benutzerdefinierten Trace-Listener verwenden. Sie können das in Ihrem Link verwendete Beispiel verwenden (lesen Sie am Ende des Artikels, wie Sie den Code herunterladen). Oder hier ist ein anderer , der nützlich sein kann.

    
Fabske 11.04.2012, 08:26
quelle
7

Ich möchte nur @Fabske antworten, dass dies funktioniert

1) WCF-Beispiele herunterladen: Ссылка

2) Öffnen : \ WF_WCF_Samples \ WCF \ Basic \ Management \ CircularTracing

3) Erstellen Sie die Lösung und greifen Sie auf die CircularTraceListener.dll

4) Fügen Sie diese DLL Ihren Projektreferenzen hinzu

5) Aktualisieren Sie Ihre Konfiguration wie gezeigt Ссылка

    
VoodooChild 28.08.2012 17:44
quelle

Tags und Links