.NetCore中使用AspectCore、ExceptionLess 实现AOP操作日志记录

结合前面封装的ExceptionLess,接下来使用 AspectCore 实现AOP日志处理

nuget导入AspectCore.Core 、AspectCore.Extensions.DependencyInjection

重写抽象类AbstractInterceptorAttribute

 public class OperatorLogAttribute : AbstractInterceptorAttribute
{

 public async override Task Invoke(AspectContext context, AspectDelegate next)
        {
            //加载Exceptionless服务
 var elg = context.ServiceProvider.GetService(typeof(IELLog)) as IELLog;
          //具体记录情况略
        }

}

接下来只需要在Startup中添加动态代理即可,在ConfigServices 最后加上带返回值为IServiceProvider

 return services.ConfigureDynamicProxy().BuildDynamicProxyServiceProvider();
ConfigureDynamicProxy中可添加动态代理配置具体参考资料如下:
参考资料:https://www.cnblogs.com/liuhaoyang/p/aspectcore-introduction-1.html

在我们需要记录操作日志的地方加上标签OperatorLog即可,当我们操作了某一个功能后,我们在ExecptionLess就可以看到相关操作日志

原文地址:https://www.cnblogs.com/liyouming/p/9844226.html