Add very-verbose flag and automatically log some more process-related things in verbose and very-verbose modes.
diff --git a/packages/flutter_tools/bin/sky_tools.dart b/packages/flutter_tools/bin/sky_tools.dart
index efc0dcb..2cd3e6f 100644
--- a/packages/flutter_tools/bin/sky_tools.dart
+++ b/packages/flutter_tools/bin/sky_tools.dart
@@ -32,6 +32,10 @@
       abbr: 'v',
       negatable: false,
       help: 'Noisy logging, including all shell commands executed.');
+  parser.addFlag('very-verbose',
+      negatable: false,
+      help: 'Very noisy logging, including the output of all '
+          'shell commands executed.');
   parser.addSeparator('commands:');
 
   for (CommandHandler handler in [
@@ -55,6 +59,10 @@
     Logger.root.level = Level.INFO;
   }
 
+  if (results['very-verbose']) {
+    Logger.root.level = Level.FINE;
+  }
+
   if (results['help']) {
     _printUsage(parser, handlers);
   } else if (results.command != null) {
diff --git a/packages/flutter_tools/lib/src/process_wrapper.dart b/packages/flutter_tools/lib/src/process_wrapper.dart
index 4a17f34..3aaec4d 100644
--- a/packages/flutter_tools/lib/src/process_wrapper.dart
+++ b/packages/flutter_tools/lib/src/process_wrapper.dart
@@ -13,10 +13,14 @@
   ProcessResult results =
       Process.runSync(cmd[0], cmd.getRange(1, cmd.length).toList());
   if (results.exitCode != 0) {
+    if (results.stderr.length > 0) {
+      _logging.info('Errors logged: ' + results.stderr);
+    }
     throw 'Error code ' +
         results.exitCode.toString() +
         ' returned when attempting to run command: ' +
         cmd.join(' ');
   }
+  _logging.fine(results.stdout.trim());
   return results.stdout;
 }