java项目中使用最广泛的日志系统应该是log4j(2)了。如果你也是一个Java程序员,可能在写rust的时候会想怎么能顺手地平移日志编写习惯到rust中来。
log4rs就是干这个的。从名字就能看出来。
将Java编程习惯代人rust不是一种好的方向,毕竟两种语言定位不同。不过单纯练手就无所谓了
下载依赖
到 https://crates.io 看一下log4rs最新的版本,添加到toml文件。log4rs是依赖 log
这个crate的,所以这个依赖也要加上:
log4rs = "1.3.0"
log = "0.4.21"
编写配置
跟log4j类似,我们也需要编写日志配置文件。
在项目根目录下创建文件夹config
,在里面创建文件log4rs.yaml
:
appenders:
stdout:
kind: console
file:
kind: file
path: "log/log.log"
encoder:
pattern: "{d} - {m}{n}"
root:
level: info
appenders:
- stdout
- file
惊呆了没有我的小伙伴,跟log4j太像了。
里面指明了日志文件的位置是log/log.log
,所以一会你可以来查看这个文件。
同时除了file
这个appender,这里还同时让它输出到了控制台stdout
。
使用
在main
函数中编写
log4rs::init_file("config/log4rs.yaml", Default::default()).unwrap();
info!("届时一个info {}", String::from("hello log"));
warn!("又是一个warn {}", String::from("hello log2"));
error!("又是一个err {}", String::from("hello log3"));
运行,看一下控制台或日志文件: