From 658e6c8a8d7739140fc06d29f26e595ecaa2d6ff Mon Sep 17 00:00:00 2001 From: Jenn Magder Date: Tue, 22 Sep 2020 17:12:02 -0700 Subject: [PATCH] Listen to Debug VM stream to get Stdout logs from VMService (#66310) --- packages/flutter_tools/lib/src/ios/devices.dart | 5 +++++ .../test/general.shard/ios/ios_device_logger_test.dart | 1 + 2 files changed, 6 insertions(+) diff --git a/packages/flutter_tools/lib/src/ios/devices.dart b/packages/flutter_tools/lib/src/ios/devices.dart index 9bad5a3d472..ebc5ad00ebe 100644 --- a/packages/flutter_tools/lib/src/ios/devices.dart +++ b/packages/flutter_tools/lib/src/ios/devices.dart @@ -10,6 +10,7 @@ import 'package:process/process.dart'; import 'package:vm_service/vm_service.dart' as vm_service; import '../application_package.dart'; +import '../base/common.dart'; import '../base/file_system.dart'; import '../base/io.dart'; import '../base/logger.dart'; @@ -678,6 +679,10 @@ class IOSDeviceLogReader extends DeviceLogReader { return; } try { + // The VM service will not publish logging events unless the debug stream is being listened to. + // Listen to this stream as a side effect. + unawaited(connectedVmService.streamListen('Debug')); + await Future.wait(>[ connectedVmService.streamListen(vm_service.EventStreams.kStdout), connectedVmService.streamListen(vm_service.EventStreams.kStderr), diff --git a/packages/flutter_tools/test/general.shard/ios/ios_device_logger_test.dart b/packages/flutter_tools/test/general.shard/ios/ios_device_logger_test.dart index bd95e87df0a..f1ff16c5659 100644 --- a/packages/flutter_tools/test/general.shard/ios/ios_device_logger_test.dart +++ b/packages/flutter_tools/test/general.shard/ios/ios_device_logger_test.dart @@ -189,6 +189,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt equals(' This is a message '), equals(' And this is an error '), ])); + verify(vmService.streamListen('Debug')); }); }