logging: implement rtt logging output
This commit is contained in:
@@ -23,6 +23,7 @@ wokwi = ["max-usb-power"]
|
|||||||
mpu = ["dep:mpu6050-dmp"]
|
mpu = ["dep:mpu6050-dmp"]
|
||||||
gps = ["dep:nmea"]
|
gps = ["dep:nmea"]
|
||||||
oled = ["dep:ssd1306"]
|
oled = ["dep:ssd1306"]
|
||||||
|
rtt = ["dep:rtt-target"]
|
||||||
demo = []
|
demo = []
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
|||||||
@@ -22,6 +22,9 @@ static LOGGER: StaticCell<RenderbugLogger> = StaticCell::new();
|
|||||||
|
|
||||||
impl RenderbugLogger {
|
impl RenderbugLogger {
|
||||||
pub fn init_logger() {
|
pub fn init_logger() {
|
||||||
|
#[cfg(feature = "rtt")]
|
||||||
|
rtt_target::rtt_init_print!(rtt_target::ChannelMode::BlockIfFull);
|
||||||
|
|
||||||
let logger = LOGGER.init(Default::default());
|
let logger = LOGGER.init(Default::default());
|
||||||
unsafe {
|
unsafe {
|
||||||
log::set_logger_racy(logger).ok();
|
log::set_logger_racy(logger).ok();
|
||||||
@@ -62,6 +65,9 @@ impl log::Log for RenderbugLogger {
|
|||||||
};
|
};
|
||||||
let suffix = filename.split('/').next_back().unwrap();
|
let suffix = filename.split('/').next_back().unwrap();
|
||||||
self.lock.lock(|_| {
|
self.lock.lock(|_| {
|
||||||
|
#[cfg(feature = "rtt")]
|
||||||
|
rtt_target::rprintln!("{}{}\t{}{}/{}:{}{}\t{}{}", color, record.level(), GREY, prefix, suffix, record.line().map_or(0, |f| {f}), RESET, record.args(), RESET);
|
||||||
|
|
||||||
println!("{color}{}\t{GREY}{prefix}/{suffix}:{}{RESET}\t{}{RESET}", record.level(), record.line().map_or(0, |f| {f}), record.args());
|
println!("{color}{}\t{GREY}{prefix}/{suffix}:{}{RESET}\t{}{RESET}", record.level(), record.line().map_or(0, |f| {f}), record.args());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user