diff --git a/service_vm_manager/Android.bp b/service_vm_manager/Android.bp
index 47867f5..b3618a6 100644
--- a/service_vm_manager/Android.bp
+++ b/service_vm_manager/Android.bp
@@ -13,6 +13,7 @@
         "libanyhow",
         "libciborium",
         "liblog_rust",
+        "libnix",
         "libservice_vm_comm",
         "libvmclient",
         "libvsock",
diff --git a/service_vm_manager/src/lib.rs b/service_vm_manager/src/lib.rs
index 484b57b..29eafdd 100644
--- a/service_vm_manager/src/lib.rs
+++ b/service_vm_manager/src/lib.rs
@@ -28,8 +28,10 @@
 use log::{info, warn};
 use service_vm_comm::{Request, Response, VmType};
 use std::fs::{File, OpenOptions};
-use std::io::{BufWriter, Write};
+use std::io::{self, BufRead, BufReader, BufWriter, Write};
+use std::os::unix::io::FromRawFd;
 use std::path::{Path, PathBuf};
+use std::thread;
 use std::time::Duration;
 use vmclient::VmInstance;
 use vsock::{VsockListener, VsockStream, VMADDR_CID_HOST};
@@ -144,9 +146,9 @@
         gdbPort: 0, // No gdb
         ..Default::default()
     });
-    let console_out = None;
+    let console_out = Some(android_log_fd()?);
     let console_in = None;
-    let log = None;
+    let log = Some(android_log_fd()?);
     let callback = None;
     VmInstance::create(service.as_ref(), &config, console_out, console_in, log, callback)
         .context("Failed to create service VM")
@@ -179,3 +181,26 @@
     )?;
     Ok(instance_img)
 }
+
+/// This function is only exposed for testing.
+pub fn android_log_fd() -> io::Result<File> {
+    let (reader_fd, writer_fd) = nix::unistd::pipe()?;
+
+    // SAFETY: These are new FDs with no previous owner.
+    let reader = unsafe { File::from_raw_fd(reader_fd) };
+    // SAFETY: These are new FDs with no previous owner.
+    let writer = unsafe { File::from_raw_fd(writer_fd) };
+
+    thread::spawn(|| {
+        for line in BufReader::new(reader).lines() {
+            match line {
+                Ok(l) => info!("{}", l),
+                Err(e) => {
+                    warn!("Failed to read line: {e:?}");
+                    break;
+                }
+            }
+        }
+    });
+    Ok(writer)
+}
