Web-API-Überwachungsprotokollierung

8

Ich muss Protokollaufrufe zu meiner Web-API überwachen, idealerweise möchte ich ein Attribut verwenden, etwa wie folgt:

%Vor%

Das Attribut sollte in der Lage sein, den API-Aufruf vor und nach der Ausführung abzufangen, um die Parameter zu protokollieren und auch, wie lange der API-Aufruf dauerte.

Mit MVC konnte ich ein ActionFilterAttribute-Derivat erstellen und OnActionExecuted und OnActionExecuting überschreiben.

Ist das Äquivalent in der Web-API-Welt möglich?

    
krisdyson 06.09.2012, 12:46
quelle

5 Antworten

15

Ich würde einen Message-Handler anstelle von Attributen verwenden.

%Vor%     
Jason Meckley 06.09.2012, 12:50
quelle
15

Der HTTP-Nachrichtenhandler sollte für solche Zwecke ein guter erweiterbarer Punkt sein. Seien Sie jedoch vorsichtig, da es Probleme beim gleichzeitigen Lesen von Anfrage-Inhalten geben kann. Zum Beispiel könnte Model Binder versuchen, Request-Inhalt zu lesen, während LoggingHandler es liest und die Deserialisierung eines Modells fehlschlägt. Um solche Probleme zu vermeiden, fügen Sie der LogRequestLoggingInfo-Methode nur den Wait-Aufruf hinzu.

%Vor%

Sie können mehr darüber hier lesen .

    
k0stya 24.04.2013 19:59
quelle
7

Haben Sie sich den Web-API-Suchdienst angeschaut?

Ссылка

    
Mike Wasson 06.09.2012 18:48
quelle
5

Ich denke, dass Sie interessiert sein werden, sich die Web-API-Verfolgung anzusehen. Ссылка . Es ermöglicht Ihnen, in den internen Mechanismus der Web-API zu schauen.

In Ihrem Fall gehe ich davon aus, dass Sie besonders an der Eingabe und Ausgabe von Aktionen interessiert sind. So können Sie Ihren TraceWriter wie das folgende Beispiel korrigieren, um die redundanten Informationen herauszufiltern:

%Vor%     
Troy Dai 19.10.2012 22:46
quelle
2

Ich habe an einer Bibliothek gearbeitet, mit der Sie Interaktionen mit ASP.NET-Web-API-Controllern mithilfe von Aktionsfiltern protokollieren können.

Es kann Aufrufe von Aktionsmethoden mit Anruferinformationen, Argumenten, Ausgaben, Dauer, Ausnahmen und mehr aufzeichnen.

Sehen Sie sich Audit.WebApi an.

>     
thepirat000 17.09.2016 05:50
quelle

Tags und Links