#logging #target #stderr #std #log-level #edwardium #stderr-target

no-std edwardium_logger

另一个简单的日志记录器实现

7个版本 (稳定版)

1.2.2 2022年7月3日
1.2.1 2021年8月15日
1.2.0 2021年7月8日
1.1.0 2020年3月31日
0.1.0 2019年6月7日

#16 in #stderr


3 crates 使用

MIT/Apache

25KB
692 代码行(不包括注释)

使用目标进行工作的简单日志记录器实现。

不需要多个日志crate来记录到多个目标,此crate提供了一层抽象和一些默认目标。目标必须实现Target trait。

要开始记录日志,创建一个Logger对象(静态或动态),然后调用其init_方法之一。

例如,对于动态日志记录器(需要std功能)

use edwardium_logger::targets::stderr::StderrTarget;
let logger = edwardium_logger::Logger::new(
	StderrTarget::new(log::Level::Trace, Default::default()),
	std::time::Instant::now()
);
logger.init_boxed().expect("Could not initialize logger");

也可以静态创建和设置日志记录器,但这有几个注意事项(更多信息请参阅Logger::new的文档)

use edwardium_logger::{
	targets::{stderr::StderrTarget, util::ignore_list::IgnoreList},
	timing::DummyTiming
};
static LOGGER: edwardium_logger::Logger<(StderrTarget), DummyTiming> =
	edwardium_logger::Logger {
		targets: StderrTarget::new(log::Level::Trace, IgnoreList::EMPTY_PATTERNS),
		start: DummyTiming
	};
LOGGER.init_static();

依赖

~160KB