Flutter 自定义调试Log

在Flutter 调试过程中使用自己的Log 打印进行调试。

import 'package:flutter/foundation.dart';

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

class CustomTrace {
  final StackTrace _trace;

  String fileName;
  int lineNumber;
  int columnNumber;

  CustomTrace(this._trace,
      {this.fileName = "", this.lineNumber = 0, this.columnNumber = 0}) {
    _parseTrace();
  }

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

使用方式:

Logs("_MyHomePageState", StackTrace.current);

打印结果如下:

flutter: 所在文件: main.dart,所在行:38, 打印信息:_MyHomePageState
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值