clear method

  1. @override
Future<void> clear()
override

Implementation

@override
Future<void> clear() {
  return enqueue(() async {
    await _sink?.flush();
    await _sink?.close();
    _sink = null;
    _currentFile = null;
    final directory = Directory(directoryPath);
    if (!directory.existsSync()) {
      return;
    }
    await for (final entity in directory.list()) {
      if (entity is File && _isManagedLogFile(entity)) {
        await entity.delete();
      } else if (entity is Directory &&
          path.basename(entity.path) == _config.nameSpace) {
        // Remove only this logger's legacy MX directory after migration.
        await entity.delete(recursive: true);
      }
    }
  });
}