|
#[cfg(target_os = "android")] |
|
#[doc(hidden)] |
|
pub fn init_logging(tag: &str) { |
|
android_logger::init_once( |
|
android_logger::Config::default() |
|
.with_min_level(log::Level::Trace) |
|
.with_tag(tag), |
|
); |
|
} |
|
|
|
#[cfg(target_os = "ios")] |
|
#[doc(hidden)] |
|
pub fn init_logging(subsystem: &str) { |
|
use std::{ |
|
ffi::CString, |
|
fs::File, |
|
io::{BufRead, BufReader}, |
|
os::unix::prelude::*, |
|
thread, |
|
}; |
|
|
|
let mut logpipe: [RawFd; 2] = Default::default(); |
|
unsafe { |
|
libc::pipe(logpipe.as_mut_ptr()); |
|
libc::dup2(logpipe[1], libc::STDOUT_FILENO); |
|
libc::dup2(logpipe[1], libc::STDERR_FILENO); |
|
} |
|
thread::spawn(move || unsafe { |
|
let file = File::from_raw_fd(logpipe[0]); |
|
let mut reader = BufReader::new(file); |
|
let mut buffer = String::new(); |
|
loop { |
|
buffer.clear(); |
|
if let Ok(len) = reader.read_line(&mut buffer) { |
|
if len == 0 { |
|
break; |
|
} else if let Ok(msg) = CString::new(buffer.clone()) |
|
.map_err(|_| ()) |
|
.and_then(|c| c.into_string().map_err(|_| ())) |
|
{ |
|
log::info!("{}", msg); |
|
} |
|
} |
|
} |
|
}); |
|
|
|
oslog::OsLogger::new(subsystem) |
|
.level_filter(log::LevelFilter::Trace) |
|
.init() |
|
.unwrap(); |
|
} |
This does not belong here
tauri/core/tauri/src/lib.rs
Lines 281 to 331 in 50f6dd8
This does not belong here