logging.rs (1478B)
1 use std::path::PathBuf; 2 3 #[cfg_attr(not(coverage_nightly), uniffi::export)] 4 pub fn init_logging( 5 dir: Option<String>, 6 file_name: Option<String>, 7 is_stdout: Option<bool>, 8 ) -> Result<(), crate::RadrootsAppError> { 9 let opts = radroots_log::LoggingOptions { 10 dir: dir.map(PathBuf::from), 11 file_name: file_name.unwrap_or_else(|| "radroots.log".to_string()), 12 file_layout: radroots_log::LogFileLayout::PrefixedDate, 13 stdout: is_stdout.unwrap_or(true), 14 default_level: None, 15 }; 16 match radroots_log::init_logging(opts) { 17 Ok(()) => Ok(()), 18 Err(err) => Err(crate::RadrootsAppError::initialization(format!("{err}"))), 19 } 20 } 21 22 #[cfg_attr(not(coverage_nightly), uniffi::export)] 23 pub fn init_logging_stdout() -> Result<(), crate::RadrootsAppError> { 24 match radroots_log::init_stdout() { 25 Ok(()) => Ok(()), 26 Err(err) => Err(crate::RadrootsAppError::initialization(format!("{err}"))), 27 } 28 } 29 30 #[cfg_attr(not(coverage_nightly), uniffi::export)] 31 pub fn log_info(msg: String) -> Result<(), crate::RadrootsAppError> { 32 radroots_log::log_info(msg); 33 Ok(()) 34 } 35 36 #[cfg_attr(not(coverage_nightly), uniffi::export)] 37 pub fn log_error(msg: String) -> Result<(), crate::RadrootsAppError> { 38 radroots_log::log_error(msg); 39 Ok(()) 40 } 41 42 #[cfg_attr(not(coverage_nightly), uniffi::export)] 43 pub fn log_debug(msg: String) -> Result<(), crate::RadrootsAppError> { 44 radroots_log::log_debug(msg); 45 Ok(()) 46 }