polyhorn_android_sys/
logger.rs1use std::ffi::CString;
2use std::os::raw::{c_char, c_int};
3
4extern "C" {
5 fn __android_log_write(level: c_int, tag: *const c_char, message: *const c_char);
6}
7
8#[repr(i32)]
9pub enum AndroidLogPriority {
10 Unknown = 0,
11 Default = 1,
12 Verbose = 2,
13 Debug = 3,
14 Info = 4,
15 Warn = 5,
16 Error = 6,
17 Fatal = 7,
18 Silent = 8,
19}
20
21pub fn android_log_write(level: AndroidLogPriority, tag: &str, message: &str) {
22 let tag = CString::new(tag).unwrap();
23 let message = CString::new(message).unwrap();
24
25 unsafe {
26 __android_log_write(
27 level as i32,
28 tag.as_c_str().as_ptr(),
29 message.as_c_str().as_ptr(),
30 );
31 }
32}