创建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);
案例:

本文介绍了一个自定义的日志打印工具log.dart,包含myLog函数和CustomTrace类,用于记录文件名、行号和打印信息。通过在代码中引入并调用myLog,可以方便地进行调试和日志输出。

1568

被折叠的 条评论
为什么被折叠?



