コード例 #1
0
ファイル: LogsetParser.cs プロジェクト: vineethvin/Logshark
        /// <summary>
        /// Processes an entire directory of log files.
        /// </summary>
        public LogsetParsingResult ParseLogset(LogsetParsingRequest request)
        {
            Log.InfoFormat("Processing log directory '{0}'..", request.Target);

            LogsetParsingResult result;

            using (var parseTimer = new LogsharkTimer("Parsed Files", request.LogsetHash, GlobalEventTimingData.Add))
            {
                var logsetPreprocessor          = new LogsetPreprocessor(tuningOptions);
                Queue <LogFileContext> logFiles = logsetPreprocessor.Preprocess(request.Target, request.ArtifactProcessor, request.CollectionsToParse);

                Initialize(request);

                using (GetProcessingWrapper(request))
                {
                    result = ProcessFiles(logFiles, request.ArtifactProcessor.GetParserFactory(request.Target), request.LogsetHash);
                }

                Log.InfoFormat("Finished processing log directory '{0}'! [{1}]", request.Target, parseTimer.Elapsed.Print());
            }

            Finalize(request, result);

            var validator = GetValidator();

            validator.ValidateDataExists(request.LogsetHash);

            return(result);
        }
コード例 #2
0
ファイル: LogsetParser.cs プロジェクト: vineethvin/Logshark
 /// <summary>
 /// Retrieves an instance of a disposable resource that will be wrapped around the main file processing phase.
 /// This is a hook that can be used for such things as heartbeat timers or custom status writers.
 /// </summary>
 protected abstract IDisposable GetProcessingWrapper(LogsetParsingRequest request);
コード例 #3
0
ファイル: LogsetParser.cs プロジェクト: vineethvin/Logshark
 /// <summary>
 /// Handles any initialization tasks for the derived LogsetParser.
 /// </summary>
 protected abstract void Initialize(LogsetParsingRequest request);
コード例 #4
0
ファイル: LogsetParser.cs プロジェクト: vineethvin/Logshark
 /// <summary>
 /// Handles any finalization and/or cleanup tasks for the derived LogsetParser.
 /// </summary>
 protected abstract void Finalize(LogsetParsingRequest request, LogsetParsingResult result);