2 个版本
0.1.1 | 2021 年 10 月 20 日 |
---|---|
0.1.0 | 2021 年 10 月 17 日 |
#10 in #txt-file
50KB
126 行
log.txt 写入器
目录
安装
更新 Cargo.toml 文件
将 log_file
添加到您的依赖项
[dependencies]
log_file = "0.1.1"
导入它
从 log_file 库中导入您想要的任何内容
use log_file;
示例
日志类型
结构示例(自定义)
这里是一个示例,[log_file::custom
]
// import everything from the `custom` module
use log_file::custom::*;
fn main() {
// create the log
let mut log = Log::new(false, ':');
// using it
log.add_str("Programmer","SnefDen");
log.add_str("crate name","log_file");
log.add_str("crate version","0.1.1");
// save log in log.txt
log.save("log.txt");
}
然后,log.txt 文件应该包含以下文本
Programmer : SnefDen
crate name : log_file
crate version : 0.1.1
如果时间戳开启(let mut log = Log::new(true, ':');
),例如,结果如下
[0:0:0:100] Programmer : SnefDen
[0:0:0:250] crate name : log_file
[0:0:0:250] crate version : 0.1.1
因此,结构如下
time(optional) title separator content
时间以以下格式写入,并从日志创建开始
s:ms:µs:ns
s = seconds
ms = milliseconds (0.001s)
µs = mikroseconds (0.001ms)
ns = nanoseconds (0.001µs)
第二个示例(自定义)
对于这个示例,我们使用 pythagorean_theorem 方法。以下是未使用日志的实现
fn pythagorean_theorem(log : &mut log, a : f64, b : f64) -> f64 {
let a_sq = a*a;
let b_sq = b*b;
let c = (a_sq + b_sq).sqrt();
return c;
}
这次我们不创建一个新的日志。相反,我们更改我们的标题,以便我们可以使用现有的一个(别忘了使其可变)。最后,我们根据 pythagorean_theorem()
方法更新日志。现在,该方法应如下所示
fn pythagorean_theorem(log : &mut Log, a : f64, b : f64) -> f64 {
log.add_str("pythagorean_theorem - step 1","a*a");
let a_sq = a*a;
log.add_str("pythagorean_theorem - step 2","b*b");
let b_sq = b*b;
log.add_str("pythagorean_theorem - step 3","(a_sq + b_sq) * (a_sq + b_sq)");
let c = (a_sq + b_sq).sqrt();
return c;
}
如果我们使用此函数在 main()
中,它看起来如下
use log_file::custom::*;
fn main() {
// create log
let mut log = Log::new(false, ':'));
// call pythagorean_theorem() of 2 and 3
println!("{}",pythagorean_theorem(&mut log, 2, 3));
// save log in `log.txt`
log.save("log.txt");
}
fn pythagorean_theorem(log : &mut Log, a : f64, b : f64) -> f64 {
// snipped //
}
log.txt 文件现在包含以下文本
pythagorean_theorem - step 1 : a*a
pythagorean_theorem - step 2 : b*b
pythagorean_theorem - step 3 : (a_sq + b_sq) * (a_sq + b_sq)
功能
要求
None