deleteLog method

void deleteLog({
  1. int saveDays = 3,
})

删除日志 默认保留3天

Implementation

void deleteLog({int saveDays = 3}) async {
  try {
    final String? dir;
    if (Platform.isWindows) {
      dir = await getLocalSupportDir();
    } else if (Platform.isAndroid) {
      final esdTemp = await getExternalStorageDirectory();
      if (esdTemp != null) {
        dir = esdTemp.path;
      } else {
        final tdTemp = await getTemporaryDirectory();
        dir = tdTemp.path;
      }
    } else {
      dir = await getLocalDocumentDir();
    }
    if (dir == null) {
      return;
    }
    Directory(dir).listSync(followLinks: false).forEach((fileSystemEntity) {
      if (fileSystemEntity.path.contains(".log") || fileSystemEntity.path.contains(".dmp")) {
        final fileDateTime = FileStat.statSync(fileSystemEntity.path).changed;
        final differDays = DateTime.now().difference(fileDateTime).inDays;
        if (differDays > 3) {
          fileSystemEntity.deleteSync();
        }
      }
    });
  } catch (e) {
    logger.e(tag: TAG, "deleteLog:${e.toString()}");
  }
}