recordEvent method

  1. @override
Future<void> recordEvent({
  1. required String name,
  2. required TelemetrySeverity severity,
  3. required String message,
  4. Map<String, dynamic> context = const {},
})
override

Records a telemetry event (log entry).

Use for significant events (errors, warnings, debug info). Returns Future<void> to allow for async repository operations.

Implementation

@override
Future<void> recordEvent({
  required String name,
  required TelemetrySeverity severity,
  required String message,
  Map<String, dynamic> context = const {},
}) async {
  if (name.isEmpty) {
    throw ArgumentError('Event name cannot be empty');
  }
  if (message.isEmpty) {
    throw ArgumentError('Event message cannot be empty');
  }

  await _repository.exportEvent(
    TelemetryEvent(
      name: name,
      severity: severity,
      message: message,
      timestamp: DateTime.now().toUtc(),
      context: context,
    ),
  );
}