コード例 #1
0
        /// <summary>
        /// Pack log files, older than first day of previous month.
        /// </summary>
        protected void PackOldFiles()
        {
            // Get log files older than first day of previous month
            DateTime olderDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddMonths(-1).Date;

            FileInfo[] oldFiles = LoggerUtilities.GetOlderLogFiles(olderDate);
            if (oldFiles.Length == 0)
            {
                return;
            }

            // Generate ZIP file from old log files
            string zipFile = ZipManager.GenerateZipFile(oldFiles, ZipManager.CreateZipFile());

            // Create name for ZIP file
            string logsPath = Path.Combine(
                HttpContext.Current.Server.MapPath("~/"),
                ConfigSettings.ApplicationLogFolder);

            string zipFileName = Path.Combine(logsPath, String.Concat("Logs", olderDate.ToString("yyyyMM"), ".zip"));

            #region Check if file exists and add appender

            bool isZipExists = System.IO.File.Exists(zipFileName);
            int  appender    = 1;
            while (isZipExists)
            {
                zipFileName = Path.Combine(logsPath, String.Concat("Logs", olderDate.ToString("yyyyMM"), "-", appender, ".zip"));
                isZipExists = System.IO.File.Exists(zipFileName);
                appender++;
            }

            #endregion

            // Move ZIP file into the log directory
            System.IO.File.Move(zipFile, zipFileName);

            // Delete old log files
            LoggerUtilities.DeleteLogFiles(oldFiles);
        }
コード例 #2
0
        /// <summary>
        /// Generate zip file with selected log files.
        /// </summary>
        /// <param name="selectedFiles"></param>
        /// <returns>Path to the generated file.</returns>
        protected static string GenerateZipFile(FileInfo[] selectedFiles)
        {
            string zipFile = ZipManager.GenerateZipFile(selectedFiles, ZipManager.CreateZipFile());

            return(zipFile);
        }