Exemple #1
0
        private void WriteTabadminErrorEventIfMatch(LogLine logLine, Match logLineMatch)
        {
            var severity = logLineMatch.GetString("sev");

            if (severity != "WARN" && severity != "ERROR" && severity != "FATAL")
            {
                return;
            }

            var timestamp       = DateTime.Parse(logLineMatch.GetString("ts"));
            var timestampOffset = logLineMatch.GetString("ts_offset");
            var timestampGmt    = timestamp.Add(OffsetToTimeSpan(timestampOffset));
            var worker          = logLine.LogFileInfo.Worker;
            var version         = GetVersionFromDictionary(worker, timestampGmt);
            var @event          = new TabadminError()
            {
                File            = logLine.LogFileInfo.FileName,
                FilePath        = logLine.LogFileInfo.FilePath,
                Hostname        = logLineMatch.GetString("hostname"),
                Id              = $"{logLine.LogFileInfo.FilePath}-{logLine.LineNumber}",
                Line            = logLine.LineNumber,
                Message         = logLineMatch.GetString("message"),
                Severity        = severity,
                Timestamp       = timestamp,
                TimestampGmt    = timestampGmt,
                TimestampOffset = timestampOffset,
                Version         = version?.Version,
                VersionId       = version?.Id,
                VersionLong     = version?.VersionLong,
                Worker          = logLine.LogFileInfo.Worker,
            };

            _tabadminErrorWriter.AddLine(@event);
        }
Exemple #2
0
 /// <summary>
 /// Create a TabadminError object from mongoDocument and enqueue it to be persisted to the database.
 /// </summary>
 /// <param name="mongoDocument">Log message values to use to create the object.</param>
 protected void ProcessTabadminError(BsonDocument mongoDocument)
 {
     try
     {
         TabadminError tabadminError = new TabadminError(mongoDocument, logsetHash);
         persister.Enqueue(tabadminError);
     }
     catch (Exception ex)
     {
         string errorMessage = String.Format("Encountered an exception on {0}: {1}", mongoDocument.GetValue("_id"), ex);
         pluginResponse.AppendError(errorMessage);
         Log.Error(errorMessage);
     }
 }