public void LogExecution()
{
try
{
if (Repository.Configuration.LogDays <= 0) return;
if (!Directory.Exists(Repository.LogsFolder)) Directory.CreateDirectory(Repository.LogsFolder);
string logFileName = Path.Combine(Repository.LogsFolder, string.Format("log_{0:yyyy_MM_dd}.txt", DateTime.Now));
string log = string.Format("********************\r\nExecution of '{0}' on {1} {2}\r\n{3}********************\r\n", FilePath, DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), ExecutionMessages);
File.AppendAllText(logFileName, log);
if (!PurgeIsDone)
{
PurgeIsDone = true;
foreach (var file in Directory.GetFiles(Repository.LogsFolder, "log_*"))
{
//purge old files...
if (File.GetLastWriteTime(file).AddDays(Repository.Configuration.LogDays) < DateTime.Now)
{
try
{
File.Delete(file);
}
catch { };
}
}
}
}
catch {}
}