polyhorn_android_sys/
logger.rs

1use 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}