美文网首页
Flutter中封装print(),可显示代码所在行和文件

Flutter中封装print(),可显示代码所在行和文件

作者: 刘铁崧 | 来源:发表于2020-12-02 17:29 被阅读0次

使用:

CYPrint(articleList, StackTrace.current);

封装打印代码:

void CYPrint(Object message,StackTrace current){
  CYCustomTrace trace = CYCustomTrace(current);
  print("—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————\nCYPrint:${trace.fileName}:${trace.lineNumber}行\n$message}");
}
class CYCustomTrace{
  final StackTrace _trace;
  String fileName;
  int lineNumber;

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

打印效果:

flutter: —————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
CYPrint:cayj_home_page.dart:22行
[Article{title: 宠爱有家杭州分部正式成立, image: http://127.0.0.1:4000/images/product/product1.jpg, details: 宠爱有家杭州分部正式成立宠爱有家杭州分部正式成立,宠爱有家杭州分部正式成立宠爱有家杭州分部正式成立宠爱有家杭州分部正式成立,宠爱有家杭州分部正式成立宠爱有家杭州分部正式成立宠爱有家杭州分部正式成立., article_id: 1, launch_date: 2019-01-25, comments: [], followed_user: [Instan<…>

相关文章

网友评论

      本文标题:Flutter中封装print(),可显示代码所在行和文件

      本文链接:https://www.haomeiwen.com/subject/oglswktx.html