/// <summary> /// 添加请求日志服务 /// </summary> /// <param name="services">服务收藏</param> /// <param name="options">请求日志选项配置</param> /// <returns>服务收藏</returns> public static IServiceCollection AddRequestLog(this IServiceCollection services, Action <RequestLogOptions> options = null) { var apiExceptionHandleOptions = new RequestLogOptions(); if (options != null) { options(apiExceptionHandleOptions); } services.AddSingleton <Microsoft.Extensions.Options.IOptions <RequestLogOptions> >(provider => { return(Microsoft.Extensions.Options.Options.Create <RequestLogOptions>(apiExceptionHandleOptions)); }); return(services); }
/// <summary> /// 构造方法 /// </summary> /// <param name="options">请求日志选项配置</param> /// <param name="log">日志</param> /// <param name="theOperation">本次操作</param> public GRpcRequestLogInterceptor(IOptions <RequestLogOptions> options, ILogable log, ITheOperation theOperation = null) { this.options = options.Value; this.log = log; this.theOperation = theOperation; }