private static void CleanupOldLogs(string dir)
{
var files = Directory.GetFiles(dir).Where(x => Path.GetFileName(x).StartsWith("SharpSoundDevice-")).ToArray();
foreach (var file in files)
{
var dateString = Path.GetFileNameWithoutExtension(file.Replace("SharpSoundDevice-", ""));
DateTime date;
var ok = DateTime.TryParseExact(dateString, "yyyy-MM-dd-HHmmss", CultureInfo.InvariantCulture, DateTimeStyles.None, out date);
if (!ok)
continue;
if ((DateTime.Today - date.Date).TotalDays > 60)
{
try
{
File.Delete(file);
}
catch (Exception ex)
{
Log(string.Format("Unable to clean up old logfile '{0}'\n{1}", file, ex.GetTrace()));
}
}
}
}