extractCallerLocation static method
String?
extractCallerLocation(
[
])
Implementation
static String? extractCallerLocation([int frameLevel = 2]) {
try {
final trace = StackTrace.current.toString().split('\n');
if (trace.length > frameLevel) {
final frame = trace[frameLevel].trim(); // Example: '#2 MyClass.myMethod (package:app/main.dart:42:13)'
final regex = RegExp(r'#\d+\s+(.+?) \((.+?):(\d+):(\d+)\)');
final match = regex.firstMatch(frame);
if (match != null) {
final method = match.group(1);
final file = match.group(2);
final line = match.group(3);
final column = match.group(4);
return '$method ($file:$line:$column)\n${file?.split('/').last}:$line';
}
}
} catch (_) {}
return null;
}