// using AspectCore.DynamicProxy;
// using Microsoft.Extensions.DependencyInjection;
//
// namespace Dpz.Core.Service;
//
// public class RecordExecuteTimeAttribute : AbstractInterceptorAttribute
// {
//     public override async Task Invoke(AspectContext context, AspectDelegate next)
//     {
//         var loggerFactory = context.ServiceProvider.GetService<ILoggerFactory>();
//         var logger = loggerFactory?.CreateLogger(context.Implementation.GetType());
//         var watch = Stopwatch.StartNew();
//         await next(context);
//         watch.Stop();
//         if (watch.Elapsed > TimeSpan.FromMilliseconds(500))
//         {
//             logger?.LogWarning("{Method} invoke time-consuming:{Elapsed}ms",
//                 $"{context.Implementation}.{context.ImplementationMethod}", watch.Elapsed.TotalMilliseconds);
//         }
//         // else
//         // {
//         //     logger?.LogInformation("{Method} invoke time-consuming:{Elapsed}ms",
//         //         $"{context.Implementation}.{context.ImplementationMethod}", watch.Elapsed.TotalMilliseconds);
//         // }
//     }
// }
评论加载中...