コード例 #1
0
        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());
        }
コード例 #2
0
        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);
            }
        }