internal Totals Parse(LogStatsParams logParams, InputReader inputReader) { int lineCount = 0; Totals totals = new Totals(logParams.GroupByMode); string line; while ((line = inputReader.ReadLine()) != null) { ++lineCount; try { LogEntry entry = ReadEntry(line, logParams.HasToFailOnError); totals.SumEntry(entry); } catch (Exception e) { string msg = string.Format("(line {0}) {1}", lineCount, e.Message); if (logParams.HasToFailOnError) throw new Exception(msg); else LogError(msg); } } Console.WriteLine("{0} lines read", lineCount); return totals; }
internal static InputReader FromFile(string file) { InputReader result = new InputReader(); result.mbFromStdIn = false; result.mFileStream = new FileStream( file, FileMode.Open, FileAccess.Read, FileShare.Read); result.mReader = new StreamReader(result.mFileStream); return result; }