学无先后,达者为师

网站首页 编程语言 正文

flutter封装自定义打印信息

作者:庚中 更新时间: 2022-02-14 编程语言

创建log.dart文件,里面代码如下:

void myLog(Object message, StackTrace current) {
  CustomTrace programInfo = CustomTrace(current);
  print("所在文件: ${programInfo.fileName}, 所在行: ${programInfo.lineNumber}, 打印信息: $message");
}

class CustomTrace {
  final StackTrace _trace;

  String fileName;
  int lineNumber;
  int columnNumber;

  CustomTrace(this._trace) {
    _parseTrace();
  }

  void _parseTrace() {
    var traceString = this._trace.toString().split("\n")[0];
    var indexOfFileName = traceString.indexOf(RegExp(r'[A-Za-z_]+.dart'));
    var fileInfo = traceString.substring(indexOfFileName);
    var listOfInfos = fileInfo.split(":");
    this.fileName = listOfInfos[0];
    this.lineNumber = int.parse(listOfInfos[1]);
    var columnStr = listOfInfos[2];
    columnStr = columnStr.replaceFirst(")", "");
    this.columnNumber = int.parse(columnStr);
  }
}

使用方法:引入这个log.dart文件,要打印的地方写如下代码

myLog('你要打印信息',StackTrace.current);

案例:
在这里插入图片描述

原文链接:https://blog.csdn.net/xiaodi520520/article/details/113463946

栏目分类
最近更新