private void ScanLogs(string mineLocation, IDataMiner dataMiner) { DirectoryInfo info = new DirectoryInfo(); Log.To.Main.Add($"Log location found => {mineLocation}"); _localDirCounter++; var files = info.EnumerateLogFiles(mineLocation, _settings.StartDateForLogs, _settings.StopDateForLogs); foreach (IFileInfo file in files) { if (!(file.Name.IndexOf(dataMiner.MinerName, StringComparison.InvariantCultureIgnoreCase) > 0)) { continue; } _localFileCounter++; file.Refresh(); //some files are returning empty even though they are not. Shown 0 bytes in explorer until opened in notepad. //Trace.WriteLine("found=>" + file.FullName); Log.To.Main.Add($"{dataMiner.MinerName} miner is reading file {file.FullName}"); var lines = _fileSystem.ReadLines(file.FullName); var lineCounter = 0; foreach (var line in lines) { lineCounter++; if (lineCounter == 1) { dataMiner.InitializeNewFile(line, _fileMinerData, mineLocation); continue; } dataMiner.Mine(line); } } }