示例#1
0
        private void UpdateUnfilteredLogFile()
        {
            _logSource?.Dispose();

            OriginalSources = _dataSources.ToList();

            var logFiles = OriginalSources.Select(dataSource =>
            {
                // Unfortunately, due to a hack, the attribution to the original data source
                // will be lost if we were to not forward anything to the merged data source.
                if (Settings.ExcludedDataSources.Contains(dataSource.Id))
                {
                    return(new EmptyLogSource());
                }

                if (IsSingleLine)
                {
                    return(dataSource.OriginalLogSource);
                }

                return(dataSource.UnfilteredLogSource);
            })
                           .ToList();

            _logSource = new MergedLogSource(TaskScheduler,
                                             MaximumWaitTime,
                                             logFiles);
            _unfilteredLogSource.InnerLogSource = _logSource;
        }
示例#2
0
        private void UpdateUnfilteredLogFile()
        {
            _unfilteredLogFile?.Dispose();

            OriginalSources = _dataSources.ToList();
            IReadOnlyList <ILogFile> logFiles;

            if (IsSingleLine)
            {
                logFiles = OriginalSources.Select(x => x.OriginalLogFile).ToList();
            }
            else
            {
                logFiles = OriginalSources.Select(x => x.UnfilteredLogFile).ToList();
            }

            _unfilteredLogFile = new MergedLogFile(TaskScheduler,
                                                   MaximumWaitTime,
                                                   logFiles);
            OnUnfilteredLogFileChanged();
        }