27 个版本 (15 个稳定版本)

7.0.0 2022年11月6日
6.0.0 2022年11月4日
5.0.2 2022年10月3日
5.0.1 2022年6月25日
0.2.3 2020年7月30日

#6 in #ll

Download history • Rust 包仓库 133/week @ 2024-03-10 • Rust 包仓库 129/week @ 2024-03-17 • Rust 包仓库 61/week @ 2024-03-24 • Rust 包仓库 105/week @ 2024-03-31 • Rust 包仓库 65/week @ 2024-04-07 • Rust 包仓库 41/week @ 2024-04-14 • Rust 包仓库 107/week @ 2024-04-21 • Rust 包仓库 158/week @ 2024-04-28 • Rust 包仓库 80/week @ 2024-05-05 • Rust 包仓库 80/week @ 2024-05-12 • Rust 包仓库 204/week @ 2024-05-19 • Rust 包仓库 43/week @ 2024-05-26 • Rust 包仓库 109/week @ 2024-06-02 • Rust 包仓库 58/week @ 2024-06-09 • Rust 包仓库 30/week @ 2024-06-16 • Rust 包仓库 94/week @ 2024-06-23 • Rust 包仓库

299 每月下载量

MIT 许可证

75KB
2K SLoC

ll - 日志库

ll 是一个轻量级的日志库。其主要目的是提供手动监控代码部分执行的能力。

通过将代码部分包装到 Tasks 中来实现代码的监控。当任务开始时,Tasks 会发出一个 start 事件,当任务结束时,会发出 end 事件。

这些事件由 Reporters 消费。可以同时使用多个 reporters,并且每个 reporters 都会接收到任务事件。不同的 reporters 可以将任务事件报告/记录到不同的系统/来源,例如打印到 STDOUT、写入数据库、文件或第三方系统。

任务以任务树的形式组织。每个任务可以生成多个子任务,它们之间始终存在父子关系。TaskTree 是主要的结构,用于保存如何生成/记录/报告任务的配置。

示例

use ll::Task;

async fn do_something() {
ll::reporters::term_status::show();

let root_task = Task::create_new("root_task");
root_task.spawn("subtask_1", |task| async move {
task.spawn_sync("subtask_2", |task| {
// do other stuff
Ok(())
})?;
Ok(())
}).await.unwrap();
}

依赖项

~5–15MB
~167K SLoC