Лучший метод для получения пользовательской аналитики в .net core Web API - PullRequest
0 голосов
/ 30 октября 2018

Я использую .net core web api в качестве конечной точки службы для моего углового приложения. Я хотел бы отслеживать действия пользователей для пользовательской аналитики. Не могли бы вы предложить, каковы лучшие практики для отслеживания этих действий?

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

Вы можете следить за внедрением Audit Trail с https://damienbod.com/2017/02/28/implementing-an-audit-trail-using-asp-net-core-and-elasticsearch-with-nest/

Или вы можете переопределить оригинальный ILogger в .NetCore.

Шаг 1: создайте класс, который наследует ILogger, затем переопределите метод public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter). ref: https://github.com/khainx127/ezStore-microservices/blob/master/source/01.Libraries/Microservice.Core.Logging/MicroserviceLogging.cs

Шаг 2. Создайте класс, унаследованный ILoggerProvider, и верните экземпляр класса на шаге 1. ref: https://github.com/khainx127/ezStore-microservices/blob/master/source/01.Libraries/Microservice.Core.Logging/MicroserviceLoggerProvider.cs

Шаг 3: зарегистрируйте своего провайдера в Startup:

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IServiceProvider serviceProvider)
        {
            ...

           loggerFactory.AddProvider(new MicroserviceLoggerProvider(serviceProvider.GetService<IBusControl>(), Configuration));

            ...
        }

Step4: вызов _logger.LogInformation("User logged in."); в действии контроллера

Это идея, и я думаю, что вы можете изменить то, что хотите записать в Audit Trail

0 голосов
/ 30 октября 2018

Я использую DotNet Core2 с Angular6 и разработал 2 приложения в моей работе. Я сделал сервис (LogService) для добавления сообщения журнала после каждой функции - API (обычно это основные функции). Таблица журнала в базе данных (id: целое число, userId: целое число, msg: текст или json, операция: перечисление или текст)

и фильтрация данных с использованием userId. Я надеюсь помочь вам больше, это моя информация об отслеживании действий пользователей

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