handleLoggingEvent method
Handles a dart:developer log() event, sending output to the client.
Implementation
@protected
@mustCallSuper
Future<void> handleLoggingEvent(vm.Event event) async {
final record = event.logRecord;
final thread = isolateManager.threadForIsolate(event.isolate);
if (record == null || thread == null) {
return;
}
var loggerName = await getFullString(thread, record.loggerName);
if (loggerName?.isEmpty ?? true) {
loggerName = 'log';
}
final message = await getFullString(thread, record.message);
final error = await getFullString(thread, record.error);
final stack = await getFullString(thread, record.stackTrace);
final prefix = '[$loggerName] ';
if (message != null) {
sendPrefixedOutput('console', prefix, '$message\n');
}
if (error != null) {
sendPrefixedOutput('console', prefix, '$error\n');
}
if (stack != null) {
sendPrefixedOutput('console', prefix, '$stack\n');
}
}