RN-log日志

var RNFS = require('react-native-fs');

const path = 'file:///sdcard/along/logs';

export function writeLog(data, index) {

  if (!index) {

    index = 0;

  }

  const date = new Date();

  const dateStr = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;

  const filePath = `${path}/h5shell-rn/${dateStr}_${index}.txt`;

  makeDir(path).then(() => {

    return makeDir(path + '/h5shell-rn');

  }).then(() => {

    return RNFS.exists(filePath);

  }).then((fileExists) => {

    const time = `${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}`;

    const input = `${time} ${data}`;

    if (!fileExists) {

      RNFS.writeFile(filePath, input, 'utf8');

    } else {

      RNFS.stat(filePath).then(stats => {

        if (stats.size > 5 * 1024 * 1024) {

          writeLog(data, index++);

        } else {

          RNFS.appendFile(filePath, `\r\n${input}`, 'utf8');

        }

      })

    }

  })

}

export function makeDir(dir) {

  return new Promise((resolve, reject) => {

    RNFS.exists(dir).then(exists => {

      if(!exists) {

        return RNFS.mkdir(dir);

      }

    }).then(()=>{

      resolve();

    }).catch(err => {

      reject(err);

    })

  })

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,743评论 0 38
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 6,159评论 0 2
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 13,150评论 0 13
  • 一、解决了什么问题? 二、工厂模式演变过程,及代码实现demo 三、源-简单工厂 Car.java BmCar.j...
    Lucksheep阅读 4,714评论 0 0
  • 今天在简书上看见彭小六写的《从学渣到学霸-我的100天阅读简史》,着实让我狠狠反思了一下我之前的阅读,我自...
    沉默三色堇阅读 4,170评论 0 51