internal override void Dump(Logger logger) { logger.Log(GetDiskSpace(DatabaseLayout)); logger.Log("Storage files: (filename : modification date - size)"); MappedFileCounter mappedCounter = new MappedFileCounter(DatabaseLayout); long totalSize = LogStoreFiles(logger, " ", DatabaseLayout.databaseDirectory(), mappedCounter); logger.Log("Storage summary: "); logger.Log(" Total size of store: " + Format.bytes(totalSize)); logger.Log(" Total size of mapped files: " + Format.bytes(mappedCounter.Size)); }
internal virtual long LogStoreFiles(Logger logger, string prefix, File dir, MappedFileCounter mappedCounter) { if (!dir.Directory) { return(0); } File[] files = dir.listFiles(); if (files == null) { logger.Log(prefix + "<INACCESSIBLE>"); return(0); } long total = 0; // Sort by name IList <File> fileList = Arrays.asList(files); fileList.sort(System.Collections.IComparer.comparing(File.getName)); foreach (File file in fileList) { long size; string filename = file.Name; if (file.Directory) { logger.Log(prefix + filename + ":"); size = LogStoreFiles(logger, prefix + " ", file, mappedCounter); filename = "- Total"; } else { size = file.length(); mappedCounter.AddFile(file); } string fileModificationDate = GetFileModificationDate(file); string bytes = Format.bytes(size); string fileInformation = string.Format("{0}{1}: {2} - {3}", prefix, filename, fileModificationDate, bytes); logger.Log(fileInformation); total += size; } return(total); }