send method
Implementation
@override
Future<void> send(
LogRecord error,
List<LogRecord> contextLogs,
Map<String, String> metadata,
) async {
var payload = formatter.format(error, contextLogs, metadata);
if (payloadBuilder != null) payload = payloadBuilder!(payload);
if (url == demoUrl) {
// Demo mode: print the formatted payload to the console.
print('[HttpErrorExporter demo] ${jsonEncode(payload)}');
return;
}
final uri = Uri.parse(url);
final headers = {
'Content-Type': 'application/json',
...?headersBuilder?.call(),
};
try {
await http.post(uri, headers: headers, body: jsonEncode(payload));
} catch (e) {
// Errors during delivery must not propagate and crash the application.
print('Failed to send error report to $url: $e');
}
}