结合前面封装的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就可以看到相关操作日志