vm run --log <logfile>

Just like run-app command, run supports --log flag to redirect the VM
log output.

Bug: 218934597
Test: vm run --log <logfile> ...
Change-Id: I077a6d22cfc10b4e537b73f8ed0cd7f838a81231
diff --git a/vm/src/main.rs b/vm/src/main.rs
index d215d7c..80ea9be 100644
--- a/vm/src/main.rs
+++ b/vm/src/main.rs
@@ -121,6 +121,10 @@
         /// Path to file for VM console output.
         #[structopt(long)]
         console: Option<PathBuf>,
+
+        /// Path to file for VM log output.
+        #[structopt(long)]
+        log: Option<PathBuf>,
     },
     /// Stop a virtual machine running in the background
     Stop {
@@ -213,12 +217,13 @@
             cpu_affinity,
             &extra_idsigs,
         ),
-        Opt::Run { config, daemonize, cpus, cpu_affinity, console } => {
+        Opt::Run { config, daemonize, cpus, cpu_affinity, console, log } => {
             command_run(
                 service,
                 &config,
                 daemonize,
                 console.as_deref(),
+                log.as_deref(),
                 /* mem */ None,
                 cpus,
                 cpu_affinity,
diff --git a/vm/src/run.rs b/vm/src/run.rs
index 6a0fc15..ef38d7d 100644
--- a/vm/src/run.rs
+++ b/vm/src/run.rs
@@ -117,11 +117,13 @@
 }
 
 /// Run a VM from the given configuration file.
+#[allow(clippy::too_many_arguments)]
 pub fn command_run(
     service: Strong<dyn IVirtualizationService>,
     config_path: &Path,
     daemonize: bool,
     console_path: Option<&Path>,
+    log_path: Option<&Path>,
     mem: Option<u32>,
     cpus: Option<u32>,
     cpu_affinity: Option<String>,
@@ -142,7 +144,7 @@
         &format!("{:?}", config_path),
         daemonize,
         console_path,
-        None,
+        log_path,
     )
 }