예제 #1
0
 public ResourceManagerEvent(NativeJsonLogsBaseEvent baseEvent, LogLine logLine, string processName)
     : base(logLine, baseEvent.Timestamp)
 {
     ProcessName  = processName;
     ProcessIndex = ProcessInfoParser.ParseProcessIndex(logLine.LogFileInfo.FileName);
     ProcessId    = baseEvent.ProcessId;
 }
예제 #2
0
        public void ProcessLogLine(LogLine logLine, LogType logType)
        {
            if (!(logLine.LineContents is NativeJsonLogsBaseEvent baseEvent))
            {
                var errorMessage = $"Was not able to cast line contents as {nameof(NativeJsonLogsBaseEvent)}";
                _processingNotificationsCollector.ReportError(errorMessage, logLine, nameof(ResourceManagerPlugin));
                return;
            }

            if (!CanContainResourceManagerInfo(baseEvent, logType))
            {
                return;
            }

            var message     = GetSrmMessage(baseEvent, logType, logLine);
            var processName = ProcessInfoParser.GetProcessName(logType);

            _eventsProcessor.ProcessEvent(baseEvent, message, logLine, processName);
        }
        public void ParseProcessIndex(string input, int?expected)
        {
            var result = ProcessInfoParser.ParseProcessIndex(input);

            result.Should().Be(expected);
        }