void ILogSource.Initialize() { if (m_logInitialized == true) { return; } // initialize original sources int n = m_originalSources.Count; int i = 0; for (i = 0; i < m_originalSources.Count; i++) { ILogSource s = m_originalSources[i]; try { // format notification message m_owner.Raise_AggregationProgress("Raise_AggregationProgress", //LogViewerSR.AggregationProgress_Initialize(i + 1, n, (s.Name != null) ? s.Name.Trim() : String.Empty), 0, null); // initialize (load) inner source s.Initialize(); } catch (Exception e) //whenever a source issued an exception, the exception is stored in the exception list and the source is removed from the list { AddExceptionToExceptionList(e, s.Name); m_originalSources.RemoveAt(i); s.CloseReader(); i--; } // check for cancel if (IsCanceled()) { return; } } // report all inner source loaded m_owner.Raise_AggregationProgress("LogViewerSR.AggregationProgress_InitializationDone", LogAggregator.cProgressLoaded, null); m_logInitialized = true; }