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


17 个crate中使用了(5个直接使用)

Apache-2.0

50KB
845

holochain_logging

Project Chat

Twitter Follow

License: Apache-2.0

概述

日志记录

此日志记录实现已被设计为快速。它将大部分重工作委托给一个专用线程。它提供了一种良好的过滤能力,可以与可选的、易于使用的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");

许可证

License: Apache-2.0

版权(C)2019,Holochain基金会

根据Apache许可证版本2.0(“许可证”);除非遵守许可证,否则不得使用此文件。您可以在以下位置获得许可证副本:

http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”基础分发,不提供任何明示或暗示的保证或条件。有关许可证的具体语言,请参阅许可证。

依赖关系

~7.5MB
~153K SLoC