Add() public method

Adds a bunch of log files.
public Add ( IEnumerable files ) : List
files IEnumerable Set of files to add.
return List
Example #1
0
        public static void ReplayLogs(DirectoryInfo directory, bool recurse, Func <MultiLogReader.Monitor, ActivityMonitor> monitorProvider, IActivityMonitor m = null)
        {
            var reader = new MultiLogReader();

            using (m?.OpenTrace($"Reading files from '{directory.FullName}' {(recurse ? "(recursive)" : null)}."))
            {
                var files = reader.Add(directory.EnumerateFiles("*.ckmon", recurse ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly).Select(f => f.FullName));
                if (files.Count == 0)
                {
                    if (m != null)
                    {
                        m.Warn("No *.ckmon files found!");
                    }
                }
                else
                {
                    var monitors = reader.GetActivityMap().Monitors;
                    if (m != null)
                    {
                        m.Trace(String.Join(Environment.NewLine, files));
                        m.CloseGroup($"Found {files.Count} file(s) containing {monitors.Count} monitor(s).");
                        m.OpenTrace("Extracting entries.");
                    }
                    foreach (var mon in monitors)
                    {
                        var replay = monitorProvider(mon);
                        if (replay == null)
                        {
                            m?.Info($"Skipping activity from '{mon.MonitorId}'.");
                        }
                        else
                        {
                            mon.Replay(replay, m);
                        }
                    }
                }
            }
        }