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?


Let's Work Together

Looking for an experienced Platform Architect or Engineer for your next project? Whether it's cloud migration, platform modernization or building new solutions from scratch - I'm here to help you succeed.

New Platforms
Modernization
Training & Consulting

Comments

Twitter Facebook LinkedIn WhatsApp