Вы можете явно добавить эти пользовательские свойства, используя метод telemetry.Context.Properties.Add()
.
Я сделал демонстрацию с функцией v2, как показано ниже:
1.Создать функцию v2 в visual studio
2. Затем в Visual Studio добавьте Microsoft.ApplicationInsights
2.8.1 (последняя версия) через менеджер пакетов nuget
3.В своем Function.cs напишите следующий код:
using Microsoft.ApplicationInsights;
using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Logging;
using System;
namespace FunctionApp17
{
public static class Function1
{
private static string key = System.Environment.GetEnvironmentVariable("APPINSIGHTS_INSTRUMENTATIONKEY",EnvironmentVariableTarget.Process);
private static TelemetryClient telemetry = new TelemetryClient() { InstrumentationKey= key };
[FunctionName("Function1")]
public static void Run([TimerTrigger("*/10 * * * * *")]TimerInfo myTimer, ILogger log)
{
if (!telemetry.Context.Properties.ContainsKey("Function_appName"))
{
telemetry.Context.Properties.Add("Function_appName", "myfuncapp111");
}
else
{
telemetry.Context.Properties["Function_appName"] = "myfuncapp111";
}
log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
telemetry.TrackEvent("event111");
telemetry.TrackTrace("trace111");
}
}
}
4.Публикация в Azure, и в вашем приложении функций -> Настройки приложения добавьте ключ инструментария:
5.После того, как приложение-функция запустится, перейдите к пониманию приложения -> поиск, вы можете добавить фильтры, определенные в вашем коде.
Тогда вы можете увидеть отфильтрованное сообщение: