Пример #1
0
        public static void Main(string[] args)
        {
            #region Extract Arguments

            if (args.Length == 0) printHelpAndExit();

            CommandLineArgumentHandler argumentHandler = new CommandLineArgumentHandler();
            for (int i = 0; i < args.Length; i += 2)
            {
                if (args[i].ToLower().Contains("help"))
                {
                    printHelpAndExit();
                }

                if (argumentHandler.IsKnown(args[i]))
                    argumentHandler.PickArgument(args[i], args[i + 1]);
                else
                {
                    IEventLogFile eventLogFile = new EventLogFileFactory(args[i]).EventLogFile;
                    eventLogFile.Parse();
                    _inputFiles.Add(eventLogFile);
                }
            }

            #endregion

            #region Apply Input Filters

            foreach (IEventLogRecord eventLogRecord in _inputFiles)
            {
                if (argumentHandler.Filters.Filter(eventLogRecord))
                    _filteredRecords.Add(eventLogRecord);
            }

            #endregion

            disposeAllInputFilesToReduceMemoryFootprint();

            #region Auto-classify filtered records

            EventLogRecordClassifier classifier = new EventLogRecordClassifier();
            classifier.Classify(_filteredRecords, argumentHandler.ProcessArguments.ToleranceMargin);

            #endregion

            #region Generate reports

            ReportGenerator reportGenerator =
                new ReportGenerator(argumentHandler.OutputArguments.OutputFolder,
                                    argumentHandler.OutputArguments.ReportFields);
            reportGenerator.WriteReportsFor(classifier.Aggregates);

            #endregion
        }
Пример #2
0
        public static void Main(string[] args)
        {
            #region Extract Arguments

            if (args.Length == 0)
            {
                printHelpAndExit();
            }

            CommandLineArgumentHandler argumentHandler = new CommandLineArgumentHandler();
            for (int i = 0; i < args.Length; i += 2)
            {
                if (args[i].ToLower().Contains("help"))
                {
                    printHelpAndExit();
                }

                if (argumentHandler.IsKnown(args[i]))
                {
                    argumentHandler.PickArgument(args[i], args[i + 1]);
                }
                else
                {
                    IEventLogFile eventLogFile = new EventLogFileFactory(args[i]).EventLogFile;
                    eventLogFile.Parse();
                    _inputFiles.Add(eventLogFile);
                }
            }

            #endregion

            #region Apply Input Filters

            foreach (IEventLogRecord eventLogRecord in _inputFiles)
            {
                if (argumentHandler.Filters.Filter(eventLogRecord))
                {
                    _filteredRecords.Add(eventLogRecord);
                }
            }

            #endregion

            disposeAllInputFilesToReduceMemoryFootprint();

            #region Auto-classify filtered records

            EventLogRecordClassifier classifier = new EventLogRecordClassifier();
            classifier.Classify(_filteredRecords, argumentHandler.ProcessArguments.ToleranceMargin);

            #endregion

            #region Generate reports

            ReportGenerator reportGenerator =
                new ReportGenerator(argumentHandler.OutputArguments.OutputFolder,
                                    argumentHandler.OutputArguments.ReportFields);
            reportGenerator.WriteReportsFor(classifier.Aggregates);

            #endregion
        }