trackError method
Tracks an error with optional stackTrace and context metadata.
Implementation
void trackError(
Object error,
StackTrace? stackTrace, {
Map<String, dynamic>? context,
}) {
final errorStr = error.toString();
final props = <String, dynamic>{
'message': errorStr.length > 500 ? errorStr.substring(0, 500) : errorStr,
};
if (stackTrace != null) {
final stackStr = stackTrace.toString();
props['stack'] =
stackStr.length > 2000 ? stackStr.substring(0, 2000) : stackStr;
}
if (context != null) props.addAll(context);
final payload = _buildPayload(
type: EventType.error,
eventName: error.runtimeType.toString(),
properties: props,
);
_track(payload);
_logger.log('trackError: ${error.runtimeType}');
}