Loggen des Referers mit Azure Application Insights

Loggen des Referers mit Azure Application Insights

Standardmäßig wird der Referer, also die Quelle des Aurufs des HTTP-Requests, nicht von der Application Insights Middleware des ASP.NET SDKs gespeichert. Um dies dennoch im Log zu hinterlegen, muss ein eigener ITelemetryInitializer geschrieben werden.

 1    public class HttpRefererTelemetryInitializer : ITelemetryInitializer
 2    {
 3        private readonly IHttpContextAccessor _httpContextAccessor;
 4
 5        public HttpRefererTelemetryInitializer(IHttpContextAccessor httpContextAccessor)
 6        {
 7            _httpContextAccessor = httpContextAccessor;
 8        }
 9
10        public void Initialize(ITelemetry telemetry)
11        {
12            if (telemetry is RequestTelemetry requestTelemetry)
13            {
14                requestTelemetry.Context.GlobalProperties.Add("Url-Referer",
15                    _httpContextAccessor.HttpContext.Request.Headers["Referer"]);
16            }
17        }
18    }

Dieser muss anschließend noch registriert werden

1services.AddSingleton<ITelemetryInitializer, HttpRefererTelemetryInitializer>();

What is Application Insights?


Comments

Twitter Facebook LinkedIn WhatsApp