public static void Archive(ArchiveArgs args) { lock (LockObject) { ArchiveOnWriters(DirectWriters, args); ArchiveOnWriters(BackgroundThreadQueue.Writers, args); } }
public void Archive(ArchiveArgs args) { if (!_isInitialized) { throw new Exception("FileStreamLogWriter was not initialized."); } _archive.Archive(args); }
private void CreateArchiveInLoggingFolder(ArchiveArgs args) { if (System.IO.File.Exists(ZippedFullFileName)) { System.IO.File.Delete(ZippedFullFileName); } ZipFilesInDateRange(args, ArchiveZipSearchPattern); IsArchiveSuccess = true; }
private void ZipFilesInDateRange(ArchiveArgs args, string archiveZipSearchPattern) { var total = new List <string>(Directory.GetFiles(CurrentDirectory, archiveZipSearchPattern)).Count(); var filePathsToZip = new List <string>(Directory.GetFiles(CurrentDirectory, archiveZipSearchPattern)) .Select(f => new { FilePath = f, FileDateTime = DateTimeFromFile(f) }) .OrderByDescending(f => f.FileDateTime) .Where(f => f.FileDateTime.Date >= args.Start.Date && f.FileDateTime.Date <= args.End) .Select(f => f.FilePath); var test = new List <string>(Directory.GetFiles(CurrentDirectory, archiveZipSearchPattern)) .Select(f => new { FilePath = f, FileDateTime = DateTimeFromFile(f) }) .OrderByDescending(f => f.FileDateTime) .Where(f => f.FileDateTime.Date >= args.Start.Date && f.FileDateTime.Date <= args.End) .Select(f => f).ToList(); long bytesZipped = 0; int count = 0; foreach (var file in filePathsToZip) { count++; if (FileIo.IsFileLocked(new FileInfo(file))) { continue; } ZipAFile(file, Path.GetFileName(file), ZippedFullFileName, true); if (ArchiveArgs.IgnoreFileSizeLimits >= args.MaxArchiveSizeBytes) { continue; } var fileInfo = new FileInfo(file); bytesZipped += fileInfo.Length; if (bytesZipped <= args.MaxArchiveSizeBytes) { continue; } CreateEmptyFileInZip("FileSizeLimitReached.txt", ZippedFullFileName); break; } if (!System.IO.File.Exists(ZippedFullFileName)) { CreateEmptyFileInZip("noLogs.txt", ZippedFullFileName); } }
public void Archive(ArchiveArgs args) { IsArchiveSuccess = false; ArchiveFailException = null; _zipFileName = Path.ChangeExtension(FileName, "." + args.Start.ToString(FileConst.CLogFilenameFormat) + "--" + args.End.ToString(FileConst.CLogFilenameFormat) + ".zip"); try { CreateArchiveInLoggingFolder(args); MoveArchiveToArchiveFolder(Path.Combine(CurrentDirectory, "Archive")); } catch (Exception ex) { ArchiveFailException = ex; } }
private static void ArchiveOnWriters(IEnumerable <ILogWriter> writers, ArchiveArgs args) { foreach (var writer in writers) { var archiver = writer as ILogArchiver; if (archiver == null) { continue; } archiver.Archive(args); if (false != archiver.IsArchiveSuccess) { continue; } WriteSystem(archiver.ArchiveFailException.ToString()); WriteError("", typeof(Log).FullName, MethodBase.GetCurrentMethod().Name, archiver.ArchiveFailException); } }