#log #txt-file #process #lib #import

log_file

一个简单的库,用于在任何 Rust 项目中记录进程

2 个版本

0.1.1 2021 年 10 月 20 日
0.1.0 2021 年 10 月 17 日

#10 in #txt-file

MIT 许可证

50KB
126

log.txt 写入器


log_file at crates.io

目录

  1. 安装
  2. 示例
  3. 功能
  4. 要求

安装

更新 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

无运行时依赖