public JsonResult ParseError(ParseErrorReport parseErrorReport) { try { logger.Trace(parseErrorReport.NullSafe()); if (ParseErrorExists(parseErrorReport.Title)) { return(Json(OK)); } var row = new ParseErrorRow(); row.LoadBase(parseErrorReport); row.Title = parseErrorReport.Title; _database.Insert(row); return(Json(OK)); } catch (Exception e) { logger.FatalException("Error has occurred while saving parse report", e); if (!parseErrorReport.IsProduction) { throw; } } return(new JsonResult()); }
public static void ReportParseError(string title) { try { VerifyDependencies(); lock (parserErrorCache) { if (parserErrorCache.Contains(title.ToLower())) { return; } parserErrorCache.Add(title.ToLower()); } var report = new ParseErrorReport { Title = title }; RestProvider.PostData(PARSE_URL, report); } catch (Exception e) { if (!EnvironmentProvider.IsProduction) { throw; } e.Data.Add("title", title); logger.InfoException("Unable to report parse error", e); } }