cleanupOldDebugLogs function
Clean up old debug log files from ~/.neomage/debug/. Preserves the 'latest' symlink.
Implementation
Future<CleanupResult> cleanupOldDebugLogs() async {
final cutoffDate = getCutoffDate();
var result = const CleanupResult();
final debugDir = p.join(_getNeomageConfigHomeDir(), 'debug');
List<FileSystemEntity> dirents;
try {
dirents = await Directory(debugDir).list().toList();
} catch (_) {
return result;
}
for (final dirent in dirents) {
if (dirent is! File) continue;
final name = p.basename(dirent.path);
if (!name.endsWith('.txt') || name == 'latest') continue;
try {
if (await _unlinkIfOld(dirent.path, cutoffDate)) {
result = CleanupResult(
messages: result.messages + 1,
errors: result.errors,
);
}
} catch (_) {
result = CleanupResult(
messages: result.messages,
errors: result.errors + 1,
);
}
}
// Intentionally do NOT remove debugDir — needed for future logs.
return result;
}