1.封装代码:
void DFLog(Object message, StackTrace current) {
HYCustomTrace programInfo = HYCustomTrace(current);
print(
"所在文件:${programInfo.filName},所在行${programInfo.lineNumber},所在列:${programInfo.columnNumber},打印信$message");
}
class HYCustomTrace {
final StackTrace _trace;
late String filName;
late int lineNumber;
late int columnNumber;
HYCustomTrace(this._trace) {
_parseTrace();
}
void _parseTrace() {
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(":");
this.filName = listOfInfos[0];
this.lineNumber = int.parse(listOfInfos[1]);
var columnStr = listOfInfos[2];
columnStr = columnStr.replaceFirst(")", "");
this.columnNumber = int.parse(columnStr);
}
}2.使用方式:
DFLog("需要打印到的内容",StackTrace current);版权声明:本文为eastWind1101原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。