microdroid_manager uses kernlog

Bug: 189805435
Test: atest MicrodroidTestHostCases
adb shell into the VM and execute logcat

Change-Id: I2724773c237c4ae208671ee206896679488ba7da
diff --git a/microdroid/sepolicy/system/private/microdroid_manager.te b/microdroid/sepolicy/system/private/microdroid_manager.te
index deb969c..579a7d4 100644
--- a/microdroid/sepolicy/system/private/microdroid_manager.te
+++ b/microdroid/sepolicy/system/private/microdroid_manager.te
@@ -22,10 +22,7 @@
 allow microdroid_manager {shell_exec toolbox_exec}:file rx_file_perms;
 
 # Let microdroid_manager kernel-log.
-# TODO(b/189805435) when ready this should be kmsg_device rather than kmsg_debug_device
-userdebug_or_eng(`
-  allow microdroid_manager kmsg_debug_device:chr_file write;
-')
+allow microdroid_manager kmsg_device:chr_file w_file_perms;
 
 # Let microdroid_manager read a config file from /mnt/apk (fusefs)
 # TODO(b/188400186) remove the below two rules
diff --git a/microdroid_manager/Android.bp b/microdroid_manager/Android.bp
index 30f8481..5cf94a1 100644
--- a/microdroid_manager/Android.bp
+++ b/microdroid_manager/Android.bp
@@ -9,15 +9,15 @@
     edition: "2018",
     prefer_rlib: true,
     rustlibs: [
-        "libenv_logger",
         "libanyhow",
+        "libkernlog",
         "libkeystore2_system_property-rust",
         "liblog_rust",
         "libmicrodroid_metadata_proto_rust",
         "libmicrodroid_payload_config",
         "libprotobuf",
-        "libserde_json",
         "libserde",
+        "libserde_json",
     ],
     init_rc: ["microdroid_manager.rc"],
 }
diff --git a/microdroid_manager/microdroid_manager.rc b/microdroid_manager/microdroid_manager.rc
index 4f194a3..60d8ab7 100644
--- a/microdroid_manager/microdroid_manager.rc
+++ b/microdroid_manager/microdroid_manager.rc
@@ -1,7 +1,6 @@
 service microdroid_manager /system/bin/microdroid_manager
     disabled
-    # TODO(b/189805435) for now redirect stdio to kmsg
-    stdio_to_kmsg
+    file /dev/kmsg w
     setenv RUST_LOG info
     # TODO(jooyung) remove this when microdroid_manager becomes a daemon
-    oneshot
\ No newline at end of file
+    oneshot
diff --git a/microdroid_manager/src/main.rs b/microdroid_manager/src/main.rs
index 10731c5..9bcfa67 100644
--- a/microdroid_manager/src/main.rs
+++ b/microdroid_manager/src/main.rs
@@ -29,9 +29,7 @@
 const WAIT_TIMEOUT: Duration = Duration::from_secs(10);
 
 fn main() -> Result<()> {
-    // TODO(b/189805435) use kernlog
-    env_logger::init();
-
+    kernlog::init()?;
     info!("started.");
 
     let metadata = metadata::load()?;