clearLogDirectoryLogs static method

Future<bool> clearLogDirectoryLogs()

Implementation

static Future<bool> clearLogDirectoryLogs() async {
  _ensureInitialized();
  if (!_config.canWriteToFile) return false;
  if (_config.logDirectory == null) return false;
  final config = _config;
  final dir = config.logDirectory!;
  await dispose();
  var ok = true;
  try {
    if (!await dir.exists()) {
      await dir.create(recursive: true);
    }
    await for (final entity
        in dir.list(recursive: false, followLinks: false)) {
      if (entity is File && entity.path.endsWith('.log')) {
        try {
          await entity.delete();
        } catch (_) {
          ok = false;
        }
      }
    }
  } catch (_) {
    ok = false;
  } finally {
    try {
      await init(config);
    } catch (_) {
      ok = false;
    }
  }
  return ok;
}