#logging #task #command-line #spinner #macro #responsive #progress

jeflog

轻量级、响应式的基于任务的日志库

1 个不稳定版本

0.1.0 2024年1月25日

#4 in #responsive

MIT 许可证

8KB
113

Jeflog

Jeflog是一个Rust日志库,包含必要的宏以实现美观、轻量级的日志记录。它特别适用于需要在命令行工具中完成一系列任务并优雅地通知用户进度的情况。

结构

Jeflog围绕任务构建。可以使用task!宏以及格式字符串和参数来在任何时间开始一个任务,这些参数将立即打印到旋转器旁边。

要启动子任务,只需再次使用task!宏,它将在现有任务下方直接创建子任务。

要完成一个任务,可以使用pass!warn!fail!宏来向用户指示任务的最终状态。

注意事项

旋转器需要额外的线程。将来将有一个功能标志来切换启动异步任务,但这尚未实现。这个额外的线程大部分时间都在睡眠,因为它在更新旋转器之间睡眠100ms。这不应该对程序的性能产生太大影响。然而,仍然重要的是要注意,运行任务确实需要这个额外的线程,尽管它并不需要很多资源。当任务没有运行时,没有并发旋转器线程。

无运行时依赖