private ProcessLogTypeResult ProcessLogType(IEnumerable <LogSetInfo> logSetParts, LogTypeInfo logTypeInfo, IList <IPlugin> plugins) { var overallProcessingNumbers = new ProcessLogTypeResult(); using var _ = _logger.BeginScope(logTypeInfo.LogType); foreach (var logSetInfo in logSetParts) { _logger.LogInformation("Starting to process log set part `{logSetPartPath}` for {logType} logs", logSetInfo.Path, logTypeInfo.LogType); var partProcessingResults = logSetInfo.IsZip ? ProcessZip(logSetInfo, logTypeInfo, plugins) : ProcessDir(logSetInfo, logTypeInfo, plugins); _logger.LogInformation("Completed processing `{logSetPartPath}` for {logType} logs. {partProcessingResults}", logSetInfo.Path, logTypeInfo.LogType, partProcessingResults); overallProcessingNumbers.AddNumbersFrom(partProcessingResults); if (!partProcessingResults.IsSuccessful) { break; } } return(overallProcessingNumbers); }