public void Add(LogRecord logRecord) { if (_minDate == DateTime.MinValue && _maxDate == DateTime.MinValue) { _minDate = logRecord.DateTime; _maxDate = logRecord.DateTime; } if (logRecord.DateTime < _minDate) { _minDate = logRecord.DateTime; } if (logRecord.DateTime > _maxDate) { _maxDate = logRecord.DateTime; } var urlStats = _urlStatsCollection.FirstOrDefault(s => s.Url == logRecord.Url); if (urlStats == null) { urlStats = new UrlStats(); urlStats.Url = logRecord.Url; _urlStatsCollection.Add(urlStats); } urlStats.Add(logRecord); }
private void ProcessLogLine(string line) { if (_lineFormat == null) return; var logRecord = new LogRecord(line, _lineFormat); if (logRecord.IsValid) { if (logRecord.DateTime >= _from && logRecord.DateTime <= _to) { // here you can add any custom url pre-processing (filtering, grouping) you want _logStats.Add(logRecord); } } }