16个版本 (10个重大变更)
0.12.2 | 2023年8月30日 |
---|---|
0.11.0 | 2023年7月22日 |
0.6.1 | 2023年3月1日 |
0.6.0 | 2022年11月2日 |
0.4.0 | 2022年7月24日 |
#237 在 调试
139 每月下载量
用于 5 个crate (4 个直接使用)
100KB
2.5K SLoC
logid
使用ID识别日志事件的Rust日志框架。
使用 logid
use logid::{log_id::{LogId, LogLevel}, err, ErrLogId};
use thiserror::Error;
#[derive(Debug, Clone, ErrLogId, Error)]
enum CrateError {
#[error("`SomeError` description.")]
SomeError,
#[error("`InternalError` description.")]
InternalError,
}
fn my_func() -> Result<(), CrateError> {
// some code ...
// on error
err!(CrateError::SomeError)
}
贡献
目前还没有贡献指南,但欢迎创建问题和/或pull请求。
请注意,提交给 logid
的任何贡献都将采用MIT许可证。
许可证
MIT 许可
lib.rs
:
提供设置和捕获 log_id::LogId
事件的库。 log_id::LogId
用于识别和分组事件。当事件 最终确定 后,由中央 LOGGER
捕获事件。显式地使用 .finalize()
,将事件转换回 log_id::LogId
,或在事件丢弃时隐式执行。
使用[evident]的LOGGER
结构体创建了Publisher
。这允许向一个或多个log_id::LogId
添加订阅者,以接收那些log_id::LogId
设置的事件。有关订阅变体的更多信息,请查阅evident
。
用法
use logid::{log_id::{LogId, LogLevel}, err, ErrLogId};
use thiserror::Error;
#[derive(Debug, Clone, ErrLogId, Error)]
enum CrateError {
#[error("`SomeError` description.")]
SomeError,
#[error("`InternalError` description.")]
InternalError,
}
fn my_func() -> Result<(), CrateError> {
// some code ...
// on error
err!(CrateError::SomeError)
}
依赖项
~0.9–11MB
~83K SLoC