Как исключить параметры из лога AI? - PullRequest
1 голос
/ 24 июня 2019

Я бы хотел исключить некоторые параметры (например, город, идентификатор пользователя, роль приложения, ...) из журналов трассировок и зависимостей в Application Insights.

Есть ли у вас какие-либо предложения?

1 Ответ

2 голосов
/ 24 июня 2019

Вы можете использовать ITelemetryInitializer , чтобы изменить значение роли userId / app на пустое.Затем в логах ИИ автоматически будет удалено city, userId, роль приложения .

Я тестирую его с помощью основного веб-приложения .net :

1.Добавьте класс MyTelemetryInitializer в веб-проект:

    public class MyTelemetryInitializer: ITelemetryInitializer
    {
        public void Initialize(ITelemetry telemetry)
        {
            //only apply for Trace and Dependency
            if (telemetry is TraceTelemetry || telemetry is DependencyTelemetry)
            {
                telemetry.Context.User.Id = "";
                telemetry.Context.Cloud.RoleInstance = "";
                telemetry.Context.Cloud.RoleName = "";
            }
        }    
    }

2.В методе Startup.cs -> ConfigureServices зарегистрируйте пользовательский инициализатор телеметрии:

        public void ConfigureServices(IServiceCollection services)
        {
            //other code

            services.AddSingleton<ITelemetryInitializer, MyTelemetryInitializer>();
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
        }

3.В HomeController.cs создайте TelemetryClient для отправки телеметрических данных:

    public class HomeController : Controller
    {

        TelemetryClient client = new TelemetryClient();
        public IActionResult Index()
        {
            client.TrackTrace("0624-2 index: this is a trace message!!!");
            return View();
        }

        public IActionResult About()
        {
            client.TrackTrace("0624-2 about: this is a trace message!!!");

            ViewData["Message"] = "Your application description page.";

            return View();
        }

        public IActionResult Contact()
        {
            client.TrackTrace("0624-2 contact: this is a trace message!!!");
            ViewData["Message"] = "Your contact page.";

            return View();
        }
   }

4.После запуска проекта подождите несколько минут, затем перейдите на портал Azure ->информация о вашем приложении -> страница поиска, проверьте свойства сообщений трассировки:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...