4个版本
0.0.7 | 2020年2月11日 |
---|---|
0.0.6 | 2020年2月10日 |
0.0.4 | 2019年10月17日 |
0.0.1 | 2019年10月15日 |
#62 in #holo
50KB
845 行
holochain_logging
概述
日志记录
此日志记录实现已被设计为快速。它将大部分重工作委托给一个专用线程。它提供了一种良好的过滤能力,可以与可选的、易于使用的TOML配置相结合。
示例
要查看此crate的功能,可以运行以下命令
cargo run --example simple-fastlog-example
或者
cargo run --example from-toml-fastlog-example
更多示例可以在这里找到。
命令行界面支持
此日志工厂还处理环境变量 RUST_LOG,因此可以使用如下方式(日志记录器必须已注册)
RUST_LOG="debug" path/to/exec
构建一个日志记录器
以下是一个使用Debug
日志详细程度级别简单构建日志记录器的示例
FastLoggerBuilder::new()
// Optionally you can specify your custom timestamp format
.timestamp_format("%Y-%m-%d %H:%M:%S%.6f")
.set_level_from_str("Debug")
.build()
.expect("Fail to init the logging factory.");
debug!("What's bugging you today?");
过滤
过滤掉所有依赖项的日志,然后恢复与特定target
相关的所有内容很容易
let toml = r#"
[logger]
level = "debug"
[[logger.rules]]
pattern = ".*"
exclude = true
[[logger.rules]]
pattern = "^holochain"
exclude = false
"#;
FastLoggerBuilder::from_toml(toml)
.expect("Fail to instantiate the logger from toml.")
.build()
.expect("Fail to build logger from toml.");
// Should NOT be logged
debug!(target: "rpc", "This is our dependency log filtering.");
// Should be logged each in different color. We avoid filtering by prefixing using the 'target'
// argument.
info!(target: "holochain", "Log message from Holochain Core.");
info!(target: "holochain-app-2", "Log message from Holochain Core with instance ID 2");
许可证
版权(C)2019,Holochain基金会
根据Apache许可证版本2.0(“许可证”);除非遵守许可证,否则不得使用此文件。您可以在以下位置获得许可证副本:
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”基础分发,不提供任何明示或暗示的保证或条件。有关许可证的具体语言,请参阅许可证。
依赖关系
~7.5MB
~153K SLoC