.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就可以看到相关操作日志
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!
本文版权归作者和博客园共有,来源网址:http://www.cnblogs.com/liyouming欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接。