【问题标题】:Best method for getting user analytics in .net core Web api在 .net core Web api 中获取用户分析的最佳方法
【发布时间】:2018-10-30 17:56:40
【问题描述】:

我使用 .net core web api 作为我的 Angular 应用程序的服务端点。我想跟踪用户活动以进行用户分析。您能否建议跟踪这些活动的最佳做法是什么?

【问题讨论】:

    标签: angular asp.net-core asp.net-core-webapi


    【解决方案1】:

    我正在使用 DotNet core2 和 Angular6,并在我的工作中开发了 2 个应用程序。 我做了一个服务(LogService),在每个功能之后添加一条日志消息 - API(通常是主要功能)。 数据库中的日志表是(id:integer, userId:integer, msg:text or json, operation: enum or text)

    并使用 userId 过滤数据。 希望对您有所帮助,这是我关于用户活动跟踪的信息

    【讨论】:

      【解决方案2】:

      您可以从 https://damienbod.com/2017/02/28/implementing-an-audit-trail-using-asp-net-core-and-elasticsearch-with-nest/ 关注 Audit Trail 实施

      或者您可以覆盖 .NetCore 中的原始 ILogger。

      第 1 步:创建一个继承 ILogger 的类,然后覆盖方法 public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter) 。参考:https://github.com/khainx127/ezStore-microservices/blob/master/source/01.Libraries/Microservice.Core.Logging/MicroserviceLogging.cs

      第2步:创建一个类继承ILoggerProvider并在第1步返回一个类的实例。参考: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));
      
                  ...
              }
      

      第四步:在控制器动作中调用_logger.LogInformation("User logged in.");

      这是一个想法,我认为您可以更改要写入 Audit Trail 的内容

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-06-04
        • 2021-12-16
        • 2017-07-26
        • 2020-11-23
        • 1970-01-01
        • 1970-01-01
        • 2021-09-19
        • 2018-09-24
        相关资源
        最近更新 更多