/// <summary> /// Perform processing on the specified source file /// </summary> /// <param name="source">The source file to be processed</param> public void Process(string source) { _start = _start ?? DateTime.UtcNow; // process the source file foreach (var stream in _streamProvider.Open(source)) { using (stream) { foreach (var data in _parser.Parse(source, stream)) { foreach (var processor in _processors) { processor.Process(data); } } } } Log.Trace("RawFileProcessor.Process({0}): Finished.", source); _streamProvider.Close(source); }