Ejemplo n.º 1
0
        public EndlessFileStreamIO(string baseDirectory,
                                   long maxLogFileSizeInMBytes         = 1024,
                                   long maxLogFileSizeInKByte          = 0,
                                   int splitIntoCountFiles             = 4,
                                   IEndlessFileStreamFileList fileList = null,
                                   IEndlessFileStreamFileListOperations fileOperations = null,
                                   IEndlessFileStreamNames fileNames = null)
        {
            _baseDirectory = baseDirectory;

            try
            {
                if (!Directory.Exists(_baseDirectory))
                {
                    Directory.CreateDirectory(_baseDirectory);
                }
            }
            catch (Exception)
            {
            }


            _fileNames      = fileNames ?? new EndlessFileStreamNames(baseDirectory);
            _fileOperations = fileOperations ?? new EndlessFileStreamFileOperations(_fileNames);
            _fileList       = fileList ?? new EndlessFileStreamFileList(splitIntoCountFiles, _baseDirectory, _fileOperations, _fileNames);
            if (splitIntoCountFiles <= 0)
            {
                throw new ArgumentException($"Invalid number of files to split logfile into: {splitIntoCountFiles}");
            }
            _maxLogFileSizeInBytesEachFile = (maxLogFileSizeInMBytes * 1024 * 1024 + maxLogFileSizeInKByte) / splitIntoCountFiles;
        }
Ejemplo n.º 2
0
 public EndlessFileStreamFileList(int maxEntries,
                                  string baseDirectory,
                                  IEndlessFileStreamFileListOperations fileOperations = null,
                                  IEndlessFileStreamNames fileNames = null)
 {
     _maxEntries     = maxEntries;
     _fileNames      = fileNames ?? new EndlessFileStreamNames(baseDirectory);
     _fileOperations = fileOperations ?? new EndlessFileStreamFileOperations(_fileNames);
     _fileList       = _fileOperations.ReadListFromFile() ?? AddNewFileDeleteOldestIfNeeded();
     PurgeRedundantFiles();
 }