Exemple #1
0
        private static void InternalReportError(string folder, string itemType, string bankKey, string itemId, ErrorCategory category, ErrorSeverity severity, string msg, string detail)
        {
            // If deduplicate, find out if this error has already been reported for this particular item.
            if (DeDuplicate)
            {
                // Create a hash of the itemId and message
                var errHash = new ShaHash(string.Concat(itemType, bankKey, itemId, msg));

                // If it's aready in the set then exit
                if (!s_ErrorsReported.Add(errHash))
                {
                    return; // Already reported an error of this type on this item
                }
            }

            if (m_ErrorReport == null)
            {
                InitErrorReport();
            }

            if (CurrentPackageName != null)
            {
                folder = string.Concat(CurrentPackageName, "/", folder);
            }

            // "Folder,ItemType,BankKey,ItemId,Category,Severity,ErrorMessage,Detail"
            m_ErrorReport.WriteLine(string.Join(",", Tabulator.CsvEncode(folder),
                                                Tabulator.CsvEncode(bankKey), Tabulator.CsvEncode(itemId), Tabulator.CsvEncode(itemType),
                                                category.ToString(), severity.ToString(), Tabulator.CsvEncode(msg), Tabulator.CsvEncode(detail)));

            ++ErrorCount;
        }
Exemple #2
0
        private static void InitErrorReport()
        {
            if (m_ErrorReport != null)
            {
                return;
            }
            m_ErrorReport = new StreamWriter(ErrorReportPath, false, Encoding.UTF8);
            m_ErrorReport.WriteLine("Folder,BankKey,ItemId,ItemType,Category,Severity,ErrorMessage,Detail");

            var    application = System.Reflection.Assembly.GetExecutingAssembly();
            string detail      = $"version='{application.GetName().Version}' options='{Program.Options}'";

            m_ErrorReport.WriteLine(string.Join(",", string.Empty,
                                                string.Empty, string.Empty, string.Empty,
                                                ErrorCategory.System.ToString(), ErrorSeverity.Message.ToString(),
                                                "Tabulator Start", Tabulator.CsvEncode(detail)));
        }