public void WriteLoggerHelper1() { var _Log = LogManager.GetLogger(typeof(TestRetrieveDataHelper)); WriteLoggerHelper.Write("Test: Write to Default log", WriteLogType.Debug, _Log); WriteLoggerHelper.Write("Test: Write to Specific log", WriteLogType.Debug); }
private T DoServiceAction <T>(ITrapForThrottling trapForThrottling, string actionName, ActionAccessType access, RequestsCounterData requestCounter, Func <T> func, string details) { return(_WaitBeforeRetryController.Do(() => { T response = default(T); trapForThrottling.Execute(new ActionInfo(actionName) { Action = () => { response = func(); requestCounter.IncrementRequests(actionName, details); }, Access = access }); return response; }, ex => { if (ex != null) { WriteLoggerHelper.Write(ex.Message, WriteLogType.Warning, null, ex); Debug.WriteLine(ex); } if (ex is MarketplaceWebServiceProductsException) { var prodEx = ex as MarketplaceWebServiceProductsException; if (prodEx.StatusCode == HttpStatusCode.InternalServerError || prodEx.StatusCode == HttpStatusCode.ServiceUnavailable || string.Equals(prodEx.ErrorCode, _RequestThrottledString, StringComparison.InvariantCultureIgnoreCase)) { return true; } else if (prodEx.StatusCode == HttpStatusCode.Unauthorized || prodEx.StatusCode == HttpStatusCode.BadRequest) { return false; } } else if (ex is MarketplaceWebServiceOrdersException) { var ordersEx = ex as MarketplaceWebServiceOrdersException; if (ordersEx.StatusCode == HttpStatusCode.InternalServerError || ordersEx.StatusCode == HttpStatusCode.ServiceUnavailable || string.Equals(ordersEx.ErrorCode, _RequestThrottledString, StringComparison.InvariantCultureIgnoreCase)) { return true; } else if (ordersEx.StatusCode == HttpStatusCode.Unauthorized) { return false; } } else if (ex is MarketplaceWebServiceException) { var repEx = ex as MarketplaceWebServiceException; if (repEx.StatusCode == HttpStatusCode.InternalServerError || repEx.StatusCode == HttpStatusCode.ServiceUnavailable || string.Equals(repEx.ErrorCode, _RequestThrottledString, StringComparison.InvariantCultureIgnoreCase)) { return true; } else if (repEx.StatusCode == HttpStatusCode.Unauthorized) { return false; } } return true; } )); }
private TransactionSearchResponseType GetTransactions(DateTime startDate, DateTime endDate, PayPalRequestInfo reqInfo, RequestsCounterData requestsCounter, ref int daysFailedSoFar) { var request = new TransactionSearchReq { TransactionSearchRequest = new TransactionSearchRequestType { Version = Version, StartDate = startDate.ToUniversalTime(), StatusSpecified = true, EndDate = endDate.ToUniversalTime(), EndDateSpecified = true, DetailLevel = new[] { DetailLevelCodeType.ReturnAll }, Status = PaymentTransactionStatusCodeType.Success } }; var userId = reqInfo.SecurityInfo.UserId; bool needToRetry = true; Exception lastEx = null; int counter = 0; while (needToRetry && counter <= CurrentValues.Instance.PayPalNumberOfRetries) { counter++; try { var cred = CreateCredentials(reqInfo.SecurityInfo); WriteLog(string.Format("PayPalService TransactionSearch Starting ({0})", userId)); var service = CreateService(reqInfo); TransactionSearchResponseType resp = service.TransactionSearch(ref cred, request); WriteLog(string.Format( "PayPalService TransactionSearch Request:\n{0}\nResponse:\n{1}", request.TransactionSearchRequest.ToLogStr(), resp.ToLogStr() )); requestsCounter.IncrementRequests("TransactionSearch"); if (resp.Ack == AckCodeType.Failure) { throw ServiceRequestExceptionFactory.Create(new PayPalServiceResponceExceptionWrapper(resp)); } WriteLog(string.Format("PayPalService TransactionSearch Ended ({0})", userId)); return(resp); } catch (Exception ex) { lastEx = ex; if (ex is IServiceRequestException) { var exFail = ex as IServiceRequestException; needToRetry = _CommonInternalErrors.Any(exFail.HasErrorWithCode); } WriteLoggerHelper.Write(string.Format("PayPalService TransactionSearch Error ({0}): need to retry: {2} \n {1} ", userId, ex.Message, needToRetry), WriteLogType.Error, null, ex); } } WriteLoggerHelper.Write(string.Format("Failed fetching pay pal data from {0} to {1}", request.TransactionSearchRequest.StartDate, request.TransactionSearchRequest.EndDate), WriteLogType.Info, null, lastEx); if (daysFailedSoFar == CurrentValues.Instance.PayPalMaxAllowedFailures) { WriteLoggerHelper.Write(string.Format("Max number of failures:{0} exceeded.", daysFailedSoFar), WriteLogType.Error, null, lastEx); throw lastEx ?? new Exception(); } daysFailedSoFar++; return(null); }
private void WriteLog(string message, Exception ex = null) { WriteLoggerHelper.Write(message, WriteLogType.Info, null, ex); Debug.WriteLine(message); }
protected void WriteToLog(string message, WriteLogType messageType = WriteLogType.Debug, Exception ex = null) { WriteLoggerHelper.Write(message, messageType, null, ex); Debug.WriteLine(message); }
private static void WriteToLog(string message, WriteLogType messageType = WriteLogType.Info, Exception ex = null) { WriteLoggerHelper.Write(message, messageType, null, ex); Debug.WriteLine(message); }