Loggen des User Agent mit Azure Application Insights

Standardmäßig wird der User-Agent des HTTP-Requests nicht von der Application Insights Middleware des ASP.NET SDKs gespeichert; vermutlich aufgrund der sehr strengen Implementierungsart der DSGVO-Vorgaben von Microsoft.

Dennoch ist es möglich entsprechend den User Agent mit einem eigenen ITelemetryInitializer zu loggen.

 1    public class HttpUserAgentTelemetryInitializer : ITelemetryInitializer
 2    {
 3        private readonly IHttpContextAccessor _httpContextAccessor;
 4
 5        public HttpUserAgentTelemetryInitializer(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("User-Agent",
15                    _httpContextAccessor.HttpContext.Request.Headers["User-Agent"]);
16            }
17        }
18    }

Dieser muss anschließend noch registriert werden

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

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