public void CreateApiCallEntryTest() { ApiCallEntity entry = new ApiCallEntity() { AccessToken = "accesstoken", CallClientId = 10, CallUrl = "/login", ClientId = 7, LogType = "api", UserId = 13123 }; Assert.AreEqual(entry.CallClientId, 10); }
/// <summary> /// 添加API调用日志 /// </summary> /// <param name="callUrl">被调用API的地址</param> /// <param name="statusCode">调用结果状态码</param> /// <param name="callAppAccesstoken">调用接口的APP的AccessToken</param> /// <param name="requestSize">请求大小</param> /// <param name="responseTime">接口请求耗时</param> /// <param name="responseSize">接口请求大小</param> internal void AppendApiCall(string accesstoken, string callAccesstoken, int callAppId, string callUrl, int statusCode, long responseTime = 0, long requestSize = 0, long responseSize = 0) { try { ApiCallEntity entry = new ApiCallEntity { AccessToken = accesstoken, //这里做一个修改, 如果通过上面的方式都无法获取,则只使用AccessToken CallAccessToken = String.IsNullOrEmpty(callAccesstoken) ? accesstoken : callAccesstoken, CallAppId = callAppId, CallUrl = callUrl, StatusCode = statusCode, RequestSize = requestSize, ResponseSize = responseSize, ResponseTime = responseTime, TerminalCode = 1001 }; if (isDebug) { GathererLogger.Instance.Write(String.Format("(API_CALL)Token:{0},CallAppId:{1},CallAccessToken:{2},CallUrl:{3},CallTimestamp:{4},IpAddress:{5}", accesstoken, entry.CallAppId, entry.CallAccessToken, callUrl, entry.CallTimestamp.ToString(), entry.IpAddress)); } LogSender.Append(entry); } catch (Exception ex) { if (isDebug) { GathererLogger.Instance.Write(String.Format("(API_CALL)Exception Occour! CallUrl:{0}, Message: {1}, Call Stack:{2}", callUrl, ex.Message, ex.StackTrace)); if (HttpContext.Current != null) { String queryString = String.Empty; foreach (string key in HttpContext.Current.Request.QueryString.AllKeys) { queryString += String.Format("{0}={1}&", key, HttpContext.Current.Request.QueryString[key]); } GathererLogger.Instance.Write(String.Format("QueryString:{0}", queryString)); } } } }
public void CsvSerializerSingleTest() { ApiCallEntity entry = new ApiCallEntity() { AccessToken = "accesstoken", CallClientId = 10, CallUrl = "/login", ClientId = 7, LogType = "api", UserId = 13123 }; CsvSerializer serializer = new CsvSerializer(); string result = serializer.SerializeSingle <ApiCallEntity>(entry); System.Diagnostics.Debug.WriteLine(result); Assert.IsNotNull(result); }