Picture: Microsoft

Loggen eigener Werte mit Azure Application Insights

Um eigene Werte in Application Insights loggen zu können, muss ein eigener ITelemetryInitializer erzeugt werden. Dieser dient nun dazu, dass der entsprechende Log-Kontext um Informationen angereichert werden können:

    public class MyCustomTelemetryInitializer : ITelemetryInitializer
    {
         public void Initialize(ITelemetry telemetry)
        {
            if (telemetry is RequestTelemetry requestTelemetry) // wenn ich nur Request Telemtry erweitern möchte
            {
                requestTelemetry.Context.GlobalProperties.Add("MyLogField",
                    "MyLogValue");
            }
        }
    }

Dieser muss anschließend noch registriert werden

services.AddSingleton<ITelemetryInitializer, MyCustomTelemetryInitializer>();

Achtet bei der Implementierung darauf, dass der Wert als String gespeichert wird. Das bedeutet, dass entsprechend eine neutrale Lokalisierung verwendet werden sollte und auch Zeitstempel sich nach ISO8601 orientieren sollten!


What is Application Insights?