1
helongyang
2025-06-12 25cb7cd50d12f48e93d6cde47420ca3458e9c47a
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_Core/AOP/LogAOP.cs
@@ -10,13 +10,14 @@
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core.Attributes;
using WIDESEA_Core.Helper;
using WIDESEA_Core.LogHelper;
namespace WIDESEA_Core.AOP
{
    /// <summary>
   /// æ‹¦æˆªå™¨BlogLogAOP ç»§æ‰¿IInterceptor接口
   /// æ‹¦æˆªå™¨LogAOP ç»§æ‰¿IInterceptor接口
   /// </summary>
   public class LogAOP : IInterceptor
    {
@@ -66,9 +67,17 @@
            try
            {
                MiniProfiler.Current.Step($"执行{invocation.InvocationTarget}.{invocation.Method.Name}()方法 -> ");
                //MethodParamsValidateAttribute? paramsValidateAttribute = invocation.Method.GetCustomAttribute<MethodParamsValidateAttribute>();
                //if (paramsValidateAttribute != null)
                //{
                //    foreach (var item in invocation.Arguments)
                //    {
                //    }
                //}
                //在被拦截的方法执行完毕后 ç»§ç»­æ‰§è¡Œå½“前方法,注意是被拦截的是异步的
                invocation.Proceed();
                // å¼‚步获取异常,先执行
                if (IsAsyncMethod(invocation.Method))
                {
@@ -146,7 +155,7 @@
                    apiLogAopInfo.ResponseJsonData = jsonResult;
                    Parallel.For(0, 1, e =>
                    {
                        LogLock.OutLogAOP("AOPLog", new string[] { apiLogAopInfo.GetType().ToString(), JsonConvert.SerializeObject(apiLogAopInfo) });
                        LogLock.OutLogAOP("全局日志AOP", new string[] { apiLogAopInfo.GetType().ToString(), JsonConvert.SerializeObject(apiLogAopInfo) });
                    });
                }
            }
@@ -170,7 +179,7 @@
                Parallel.For(0, 1, e =>
                {
                    //LogLock.OutSql2Log("AOPLog", new string[] { JsonConvert.SerializeObject(apiLogAopInfo) });
                    LogLock.OutLogAOP("AOPLog", new string[] { apiLogAopInfo.GetType().ToString(), JsonConvert.SerializeObject(apiLogAopInfo) });
                    LogLock.OutLogAOP("全局日志AOP", new string[] { apiLogAopInfo.GetType().ToString(), JsonConvert.SerializeObject(apiLogAopInfo) });
                });
            });
        }
@@ -192,7 +201,7 @@
                // å¼‚常日志里有详细的堆栈信息
                Parallel.For(0, 1, e =>
                {
                    LogLock.OutLogAOP("AOPLogEx", new string[] { apiLogAopExInfo.GetType().ToString(), JsonConvert.SerializeObject(apiLogAopExInfo) });
                    LogLock.OutLogAOP("全局异常错误日志AOP", new string[] { apiLogAopExInfo.GetType().ToString(), JsonConvert.SerializeObject(apiLogAopExInfo) });
                });
            }
        }