Crates.io | oslog |
lib.rs | oslog |
version | 0.2.0 |
source | src |
created_at | 2020-05-14 20:34:40.579128 |
updated_at | 2022-02-17 13:37:46.799444 |
description | A minimal safe wrapper around Apple's Logging system |
homepage | |
repository | https://github.com/steven-joruk/oslog |
max_upload_size | |
id | 241643 |
size | 16,843 |
A minimal wrapper around Apple's unified logging system.
By default support for the log crate is provided, but if you would prefer just to use the lower level bindings you can disable the default features.
When making use of targets (info!(target: "t", "m");
), you should be aware
that a new log is allocated and stored in a map for the lifetime of the program.
I expect log allocations are extremely small, but haven't attempted to verify
it.
This is behind the logger
feature flag and is enabled by default.
fn main() {
OsLogger::new("com.example.test")
.level_filter(LevelFilter::Debug)
.category_level_filter("Settings", LevelFilter::Trace)
.init()
.unwrap();
// Maps to OS_LOG_TYPE_DEBUG
trace!(target: "Settings", "Trace");
// Maps to OS_LOG_TYPE_INFO
debug!("Debug");
// Maps to OS_LOG_TYPE_DEFAULT
info!(target: "Parsing", "Info");
// Maps to OS_LOG_TYPE_ERROR
warn!("Warn");
// Maps to OS_LOG_TYPE_FAULT
error!("Error");
}