Expand description
Minimal logging traits and a small Logger with level filtering.
Minimal logging primitives for no_std kernels.
This module is intentionally small:
- You provide a
crate::log::LogSinkthat decides where bytes go (serial/VGA/hypervisor console/etc.). - This crate provides a
crate::log::Loggerthat decides how bytes are formatted and implements level filtering. - All APIs are allocation-free and usable in early boot.
§Typical usage
use os_dev_toolkit::log::{Level, LogSink, Logger};
struct Sink;
impl LogSink for Sink {
fn write_str(&mut self, s: &str) {
let _ = s;
}
}
fn demo() {
let mut sink = Sink;
let mut logger = Logger::new(&mut sink, Level::Info);
os_dev_toolkit::kinfo!(logger, "boot ok");
os_dev_toolkit::kdebug!(logger, "this will be filtered out");
}Structs§
Enums§
Traits§
- LogSink
- A minimal sink for kernel/OS logging.