/// <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) { } }
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); } }