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 133/week @ 2024-03-10 129/week @ 2024-03-17 61/week @ 2024-03-24 105/week @ 2024-03-31 65/week @ 2024-04-07 41/week @ 2024-04-14 107/week @ 2024-04-21 158/week @ 2024-04-28 80/week @ 2024-05-05 80/week @ 2024-05-12 204/week @ 2024-05-19 43/week @ 2024-05-26 109/week @ 2024-06-02 58/week @ 2024-06-09 30/week @ 2024-06-16 94/week @ 2024-06-23

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