private void SetupIO() { var path = Path.Combine(ExplorerCore.Loader.ExplorerFolder, "Logs"); path = IOUtility.EnsureValidDirectory(path); // clean old log(s) var files = Directory.GetFiles(path); if (files.Length >= 10) { var sorted = files.ToList(); // sort by 'datetime.ToString("u")' will put the oldest ones first sorted.Sort(); for (int i = 0; i < files.Length - 9; i++) { File.Delete(files[i]); } } var fileName = $"UnityExplorer {DateTime.Now:u}.txt"; fileName = IOUtility.EnsureValidFilename(fileName); CurrentStreamPath = Path.Combine(path, fileName); File.WriteAllLines(CurrentStreamPath, Logs.Select(it => it.message).ToArray()); }