diff --git a/launcher/main.cpp b/launcher/main.cpp
index c3f9988..5ae9956 100644
--- a/launcher/main.cpp
+++ b/launcher/main.cpp
@@ -61,7 +61,7 @@
         return EXIT_FAILURE;
     }
 
-    android::base::InitLogging(argv, &android::base::KernelLogger);
+    android::base::InitLogging(argv);
 
     const char* libname = argv[1];
     auto handle = load(libname);
diff --git a/microdroid_manager/Android.bp b/microdroid_manager/Android.bp
index 495d3bb..d854d54 100644
--- a/microdroid_manager/Android.bp
+++ b/microdroid_manager/Android.bp
@@ -13,6 +13,7 @@
         "android.system.virtualizationservice-rust",
         "android.system.virtualmachineservice-rust",
         "android.system.virtualization.payload-rust",
+        "libandroid_logger",
         "libanyhow",
         "libapexutil_rust",
         "libapkverify",
@@ -25,7 +26,6 @@
         "libglob",
         "libhex",
         "libitertools",
-        "libkernlog",
         "libkeystore2_crypto_rust",
         "liblibc",
         "liblog_rust",
diff --git a/microdroid_manager/src/main.rs b/microdroid_manager/src/main.rs
index 8fa2807..9c19feb 100644
--- a/microdroid_manager/src/main.rs
+++ b/microdroid_manager/src/main.rs
@@ -211,7 +211,11 @@
 }
 
 fn try_main() -> Result<()> {
-    let _ignored = kernlog::init();
+    android_logger::init_once(
+        android_logger::Config::default()
+            .with_tag("microdroid_manager")
+            .with_min_level(log::Level::Info),
+    );
     info!("started.");
 
     // SAFETY: This is the only place we take the ownership of the fd of the vm payload service.
diff --git a/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java b/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java
index cbc35ad..4f023ca 100644
--- a/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java
+++ b/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java
@@ -473,7 +473,7 @@
                         key, keyOverrides, /*isProtected=*/ false, /*updateBootconfigs=*/ true);
         assertThatEventually(
                 100000,
-                () -> getDevice().pullFileContents(CONSOLE_PATH),
+                () -> getDevice().pullFileContents(LOG_PATH),
                 containsString("boot completed, time to run payload"));
 
         vmInfo.mProcess.destroy();
diff --git a/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java b/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java
index 0ddafeb..a64b62a 100644
--- a/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java
+++ b/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java
@@ -1251,7 +1251,7 @@
 
         assertThat(payloadStarted.getNow(false)).isTrue();
         assertThat(exitCodeFuture.getNow(0)).isNotEqualTo(0);
-        assertThat(listener.getConsoleOutput()).contains(reason);
+        assertThat(listener.getLogOutput()).contains(reason);
     }
 
     @Test
@@ -1609,7 +1609,7 @@
                         .command(
                                 "logcat",
                                 "-e",
-                                "virtualizationmanager::aidl: Console.*executing main task",
+                                "virtualizationmanager::aidl: Log.*executing main task",
                                 "-t",
                                 time)
                         .start();
