2017-05-16 8 views
0

Ich versuche ein benutzerdefiniertes Telemetriemodul in Java zu erstellen, das benutzerdefinierte HTTP-Anfragen und Antwortenheader protokollieren kann. Von meiner Analyse sind Telemetriemodule diejenigen, die Zugriff auf HTTP-Request- und HTTP-Response-Objekte haben.Hinzufügen eines benutzerdefinierten Telemetriemoduls in Application Insight

Ich habe mein eigenes Telemetriemodul durch die Webtelemetrymodule Schnittstelle erstreckt und Verwendung derselben Anwendung insights.xml

registriert Wenn meine app Stiefel ich Fehler Fehlgeschlagen Spruch Klasse für meine CustomTelemetry Klasse

Bin ich zu laden etwas vermissen?? gibt es nicht viel Dokumentation über Telemetriemodule, so wird jede Hilfe sehr

-Code

Die unten ist Modul meine benutzerdefinierte Telemetrie erkannt werden, und es in ApplicationInsights.xml

public class CustomRequestTelemetryModule registriert ist implementiert WebTelemetryModule {

public static final String REQUEST_ID_HEADER = "CUSTOM_HEADER"; 



@Override 
public void onBeginRequest(ServletRequest request, ServletResponse response) { 

} 

@Override 
public void onEndRequest(ServletRequest req, ServletResponse res) { 

    //logger.info("Inside Custom Telemetry Module"); 

    HttpServletResponse response = (HttpServletResponse)res; 

    String REQID = response.getHeader("REQUEST_ID_HEADER"); 

    RequestTelemetryContext context = ThreadContext.getRequestTelemetryContext(); 
    RequestTelemetry telemetry = context.getHttpRequestTelemetry(); 

    //telemetry.setId(REQID); 
    telemetry.getProperties().put("ID",REQID); 



} 

}

Application Insight Config

Blockquote

<Add type="custompackage.CustomRequestTelemetryModule"/> 

protokolliert Fehler von AI

AI: ERROR 16-05-2017 12.13, 15: Fehler custompackage..CustomRequestTelemetryModule, Klasse custompackage.CustomRequestTelemetryModule erstellen

TIA

+0

im Detail durchgeführt werden können Sie den Code der Klasse teilen, und den Code versagt, wo das Laden fehlschlägt? – Peter

+0

Code wird jetzt als Teil meines ursprünglichen Posts bereitgestellt – SaiVikas

Antwort

0

Die Klasse muss Implementieren Sie WebTelemetryModule zusammen mit der TelemetryModule-Schnittstelle. Dadurch wurde dieses Problem für mich gelöst.

Hier ist ein Blog, das ich schrieb, was erklärt, wie diese https://dtechonline.wordpress.com

Verwandte Themen