pub struct StdoutLogWriter;
impl crate::LogWriter for StdoutLogWriter {
fn log(&self, record: ldk_node::logger::LogRecord) {
let level = match record.level.to_string().to_ascii_lowercase().as_str() {
"error" => tracing::Level::ERROR,
"warn" | "warning" => tracing::Level::WARN,
"debug" => tracing::Level::DEBUG,
"trace" => tracing::Level::TRACE,
_ => tracing::Level::INFO,
};
let msg = record.args.to_string();
match level {
tracing::Level::ERROR => {
tracing::error!(
module_path = record.module_path,
line = record.line,
"{msg}"
);
}
tracing::Level::WARN => {
tracing::warn!(
module_path = record.module_path,
line = record.line,
"{msg}"
);
}
tracing::Level::INFO => {
tracing::info!(
module_path = record.module_path,
line = record.line,
"{msg}"
);
}
tracing::Level::DEBUG => {
tracing::debug!(
module_path = record.module_path,
line = record.line,
"{msg}"
);
}
tracing::Level::TRACE => {
tracing::trace!(
module_path = record.module_path,
line = record.line,
"{msg}"
);
}
}
}
}
impl Default for StdoutLogWriter {
fn default() -> Self {
Self {}
}
}