logToFile static method

void logToFile()

Implementation

static void logToFile(){
  //创建新的logBuffer并指向
  StringBuffer newLogBuffer=StringBuffer();
  StringBuffer oldLogBuffer=logBuffer;
  logBuffer=newLogBuffer;

  //当前文件索引currentLogFileIndex
  //当前文件路径
  String filePath=logDir+"/log"+currentLogFileIndex.toString()+".txt";
  LogUtil.v(tag+":logToFile:filePath:"+filePath);

  File file=File(filePath);

  // 如果文件不存在,创建新文件
  if (!file.existsSync()) {
    file.createSync();
  }

  //当前文件大小(可能还不存在文件)
  int size=file.lengthSync();

  LogUtil.v(tag+":logToFile:size:"+size.toString());

  //超过范围,循环
  //LogUtil.i(Tag+":logToFile:MaxLogFileSize:"+MaxLogFileSize);
  //if(size>=100*1024){
  if(size>=MaxLogFileSize){
    //保存到下一个文件
    currentLogFileIndex++;

    //循环
    if(currentLogFileIndex>=MaxLogFileCount){
      currentLogFileIndex=0;
    }

    SharedPreferencesUtil.setInt("CurrentLogFileIndex",currentLogFileIndex);

    //新文件路径
    filePath=logDir+"/log"+currentLogFileIndex.toString()+".txt";
    LogUtil.v(tag+":logToFile:new filePath:"+filePath);

    file=File(filePath);

    // 如果文件不存在,创建新文件
    if (!file.existsSync()) {
      file.createSync();
    }

    //覆盖写入
    FileUtil.writeFileContent(filePath,oldLogBuffer.toString(),append: false);
    LogUtil.v(tag+":logToFile:覆盖写入");
  }else{//未超过范围
    //追加写入
    FileUtil.writeFileContent(filePath,oldLogBuffer.toString(),append: true);
    LogUtil.v(tag+":logToFile:追加写入");
  }
}