3个版本
0.1.2 | 2023年1月20日 |
---|---|
0.1.1 | 2023年1月18日 |
0.1.0 | 2023年1月17日 |
在 调试 中排名第 571
每月下载量 31 次
28KB
328 行
durylog
此crate为项目或库添加日志记录功能。
在尝试了很多用于日志记录的crate后,我发现有些crate虽然功能丰富,但使用复杂,或者有的crate易于使用,但只能在文件或控制台进行日志记录。
我决定编写自己的lib,旨在实现 易于使用并具有一些有用的特性
- 可以仅在标准输出、仅文件或两者同时进行日志记录。
- 非常易于开始:安装后即可使用。
- API名称简短。
- 它实现了 log crate,因此你可以使用Rust库的日志宏。
添加到项目中
在文件 cargo.toml 中添加
[dependencies]
durylog = "0.1.0"
入门指南
使用此crate有两种方式
- 直接创建对象:
let durylog=DLog::new();
并像这样使用durylog.d("日志消息");
- 初始化日志记录器:
DLog::new().init_logger().ok();
并使用 log 宏,如debug!("日志消息");
默认设置下的输出(在控制台和/或文件中)如下
2023/01/02 18.01.27 : DEBUG : Debug message
第一个标签是日期时间戳,第二个标签是级别名称,其后是日志消息标签
示例
直接使用默认设置
use durylog::DLog;
fn main() {
let durylog=DLog::new();
println!("{}", durylog.get_status()); // This prints all current crate settings (in this case are defaults)
durylog.e("Error message");
durylog.w("Warning message");
durylog.i("Info message");
durylog.d("Debug message");
durylog.t("Trace message");
}
这将无颜色地记录到标准输出。
直接使用自定义设置
use durylog::DLog;
fn main() {
let durylog=DLog::new()
.with_color() // Enable colors in console output (default disabled)
.widh_timestamp_format("%Y-%m-%d %H:%M:%S") // Change default timestamp
.widh_custom_separator(" | ") // Change default separator pattern for items
.with_file("durylog-custom.log").unwrap(); // Enable logging on file (default disable)
println!("{}", durylog.get_status()); // This prints all current crate settings (in this case there are custom)
durylog.e("Error message");
durylog.w("Warning message");
durlog.i("Info message");
durylog.d("Debug message");
durylog.t("Trace message");
}
这将带颜色地记录到标准输出,时间戳和标签的格式不同,分隔符也不同,并在文件 durylog-custom.log 中添加与控制台相同的日志行。
使用默认设置的宏
use durylog::{error,warn,info,debug,trace,DLog};
fn main() {
DLog::new().init_logger().ok();
error!("Error message");
warn!("Warning message");
info!("Info message");
debug!("Debug message");
trace!("Trace message");
}
这将无颜色地记录到标准输出。
使用自定义设置的宏
use durylog::{error,warn,info,debug,trace,DLog};
fn main() {
DLog::new()
.with_color() // Enable colors in console output (default disabled)
.widh_timestamp_format("%Y-%m-%d %H:%M:%S") // Change default timestamp
.widh_custom_separator(" | ") // Change default separator pattern for items
.with_file("log-custom.log").unwrap() // Enable logging on file (default disable)
.init_logger().ok();
error!("Error message");
warn!("Warning message");
info!("Info message");
debug!("Debug message");
trace!("Trace message");
}
这将带颜色地记录到标准输出,时间戳和标签的格式不同,分隔符也不同,并在文件 log-custom.log 中添加与控制台相同的日志行。
依赖项
~2MB
~33K SLoC