zoukankan      html  css  js  c++  java
  • AOP编程

    AOP工具类
    public class AroundAdvice : IMethodInterceptor
    {
    bool logurl = true;
    public AroundAdvice()
    {
    Task.Run(() => {
    logurl = WebUtils.UrlValidateCheck(SystemAddress.LogServiceUrl);
    });
    }
    public object Invoke(IMethodInvocation invocation)
    {
    string guid = Guid.NewGuid().ToString();
    object result = null;
    string actionName = invocation.TargetType.FullName + "/" + invocation.Method.Name;
    string strMessageStart = string.Format("开始-唯一标识:{0},类名:{1},方法名:{2},传参:{3}", guid, invocation.TargetType.FullName, invocation.Method.Name, Newtonsoft.Json.JsonConvert.SerializeObject(invocation.Arguments));
    try
    {
    WriteLog(invocation.TargetType.ToString(), actionName, strMessageStart);

    result = invocation.Proceed();

    string strMessageEnd = string.Format("结束-唯一标识:{0},类名:{1},方法名:{2},返回结果——请求:{3}", guid, invocation.TargetType.FullName, invocation.Method.Name, "Response:" + Newtonsoft.Json.JsonConvert.SerializeObject(result) + ",Request:" + Newtonsoft.Json.JsonConvert.SerializeObject(invocation.Arguments));
    WriteLog(invocation.TargetType.ToString(), actionName, strMessageEnd);
    }
    catch (Exception ex)
    { }


    return result;
    }

    /// <summary>
    /// 日志记录方法
    /// </summary>
    /// <param name="context"></param>
    /// <param name="actionName"></param>
    /// <param name="massage"></param>
    public void WriteLog(string messageType,string actionName, string massage)
    {
    var log = LogFactory.GetLogger(messageType);
    //bool logurl = WebUtils.UrlValidateCheck(SystemAddress.LogServiceUrl);
    if (logurl)
    {
    Task.Run(() =>
    {
    try
    {
    ExFreshLog.Instance.Info(actionName, massage + ";IP:" + Net.Ip);
    }
    catch (Exception ex)
    {
    // log.InfoByLocal(massage);
    }
    });
    }
    // else
    // log.InfoByLocal(massage);
    }
    }

  • 相关阅读:
    第3课 线性分类器损失函数与最优化
    李飞飞机器视觉课程笔记:第2课 K最近邻与线性分类器
    周志华《机器学习》第二章学习笔记
    通过anaconda安装tensorflow
    周志华《机器学习》第一章学习笔记 奥卡姆剃刀原理、没有免费的午餐定理(NFL)、回归模型
    DPM目标检测模型
    损失函数的理解
    mini-batch的理解
    前向传播、后向传播
    SVM(支持向量机)的理解
  • 原文地址:https://www.cnblogs.com/badboys/p/7582054.html
Copyright © 2011-2022 走看看