Beispiel #1
0
 /// <summary>
 /// 异步保存日志
 /// </summary>
 /// <param name="log"></param>
 public static void SaveLog(HttpLogInterfaceCall log)
 {
     try
     {
         var sql = DapperHelper.DHelper.ToInsertSql(log);
         HttpLogInterfaceCallRep.Do(db => db.DapperDo(con => con.Execute(sql, log)));
     }
     catch (Exception ex)
     {
     }
 }
Beispiel #2
0
        public static void Log(this RequestInfo requestInfo, string exceptionType = "")
        {
            var httpmessage = requestInfo.HttpMessage;

            //不关闭日志
            if (httpmessage.IsLog != true)
            {
                var httpReturn = requestInfo.HttpReturn;
                var log        = new HttpLogInterfaceCall()
                {
                    Exception        = httpReturn.Exception,
                    ExceptionMessage = httpReturn.ExceptionMessage,
                    Moudle           = httpReturn.Moudle,
                    HttpMethod       = httpReturn.HttpMethod,
                    IsSuccess        = requestInfo.HttpTag.ExecuteID.HasValue ? false : httpReturn.IsSuccess,
                    AppID            = httpReturn.AppID,
                    Method           = httpReturn.Method,
                    Mills            = requestInfo.Stopwatch.ElapsedMilliseconds,
                    Request          = httpReturn.Request,
                    RequestArgs      = string.Join(",", requestInfo.HttpRequest.RequestObjs),
                    RequestEncrypt   = httpReturn.RequestEncrypt,
                    Response         = httpReturn.WsExcepiton != null ? httpReturn.WsExcepiton.Name : httpReturn.Response,
                    ResponseEncrypt  = httpReturn.ResponseEncrypt,
                    CreateTime       = DateTime.Now,
                    Url           = httpReturn.Url,
                    StatusCode    = httpReturn.StatusCode,
                    ExceptionType = string.IsNullOrWhiteSpace(exceptionType) ? httpReturn.Exception : exceptionType,
                    Channel       = requestInfo.HttpTag.Channel,
                    Version       = httpmessage.Version,
                    SenderTime    = requestInfo.HttpTag.SenderTime,
                    IsAynsc       = requestInfo.HttpTag.IsAynsc,
                    Browser       = requestInfo.HttpTag.Browser,
                    CIP           = requestInfo.HttpTag.CIP,
                    IP            = requestInfo.HttpTag.IP,
                    IsPreLoad     = requestInfo.HttpTag.IsPreLoad,
                    Other         = requestInfo.HttpTag.Other,
                    RequestID     = requestInfo.HttpTag.RequestID,
                    Retry         = requestInfo.HttpTag.Retry,
                    ExecuteID     = requestInfo.HttpTag.ExecuteID.HasValue ? requestInfo.HttpTag.ExecuteID.Value : Guid.Empty,
                    Token         = requestInfo.HttpTag.Token,
                    UID           = requestInfo.HttpTag.UID,
                    ComputerName  = requestInfo.HttpTag.ComputerName,
                    IsNotify      = httpmessage.IsNotify,
                    IsProcess     = false,
                    ExecuteResult = 0
                };
                if (log.AppID != 99 && log.Method != "ApiCommit" && log.ExecuteID != Guid.Empty)
                {
                    log.IsSuccess = false;
                }
                HttpLogBLL.SaveLog(log);
            }
        }