7 个版本
0.1.6 | 2022年11月27日 |
---|---|
0.1.5 | 2022年11月27日 |
0.1.4 | 2022年2月28日 |
#319 在 配置
每月 37 次下载
用于 optic
500KB
196 行
task_log
task_log 是一个基于任务的日志记录器。
安装
只需将 task_log = 0.1.6
添加到 Cargo.toml 的 dependency
部分。
示例
让我们直接进入主题。使用这个记录器看起来怎么样?
use std::io::Result;
use std::time::Duration;
use std::{fs, thread};
use task_log::task;
fn main() {
task("Creating and removing file", || -> Result<()> {
let filename = "hello.txt";
fs::write(filename, "foo bar")?;
thread::sleep(Duration::from_secs(2));
fs::remove_file(filename)?;
Ok(())
})
.expect("Failed to create and delete the file");
}
如您所见,我们提供了一个要运行的任务及其描述。当我们运行此代码时,将得到以下输出。
要查看更多示例,请参阅 示例文件夹。
配置
您可以使用名为 ConfigBuilder
的结构体来配置 task_log 的 task
函数。以下是如何使用 ConfigBuilder
的示例
use std::thread;
use std::time::Duration;
use task_log::{task, ConfigBuilder};
fn main() {
ConfigBuilder::new()
.duration(false)
.apply()
.expect("Failed to setup configuration");
let sum = task("Adding 1 and 2", || -> u32 {
let result = 1 + 2;
thread::sleep(Duration::from_secs(2));
result
});
println!("Sum is {}", sum)
}
有关 ConfigBuilder
的更多信息,请参阅 docs.rs 文档。
未来计划
以下是我希望在将来实现的一些功能
- 运行时间:在
RUNNING
前缀中输出到目前为止的运行时间。 - 旋转符号:对于长时间运行的任务显示加载符号。
- 文件输出:允许将日志写入文件。
- 双行日志:选择将日志输出到第二行而不是替换第一行。