9 个版本
0.3.2 | 2024年3月10日 |
---|---|
0.3.1 | 2024年3月10日 |
0.2.0 | 2024年3月2日 |
0.1.8 |
|
0.1.7 | 2022年7月26日 |
#8 在 #json-log 中
每月 21 次下载
18KB
272 行
Rs-Logger
一个简单的 Rust 编程语言日志库。
安装
在 Cargo.toml 文件中的依赖项下添加 rs-logger = "0.3.2"。
[dependencies]
rs-logger = "0.3.2"
或者在终端中运行 cargo add rs-logger
。
代码示例
有五种不同的日志级别。
- 跟踪
- 信息
- 警告
- 错误
- 关键
每个级别都有自己的优先级。跟踪允许打印一切,警告只允许打印警告()及以上优先级的消息,等等。最高的是关键().需要注意的是,如果日志到文件为真,则无论日志级别如何,所有消息都将存储在日志文件中。
Logger 的构造函数 new() 返回 LoggerBuilder 结构体的实例,其中可以调用 level() 和 filename() 来设置级别和文件名。如果没有调用 filename(),则将关闭日志到文件。
在 LoggerBuilder 实例上调用 build 方法以获取 Logger 的实例。
如果关闭了文件日志,build() 方法将不会返回错误。
正常解析示例。日期格式为 YYYY-MM-DD
2024-03-06 12:04:01 CRITICAL: msg
2024-03-06 12:04:01 ERROR: msg
JSON 解析示例
{
"logs": [
{
"date": "2024-03-06",
"time": "12:01:53",
"message": "msg",
"type": "CRITICAL"
},
{
"date": "2024-03-06",
"time": "12:01:53",
"message": "msg",
"type": "ERROR"
}
]
}
所有时间戳和日期都基于系统时间以本地时区为基础。
use rs_logger::*;
fn main() {
let mut logger = Logger::new()
.level(LoggingLevel::Info)
.filename(PathBuf::from("logs.json"))
.build()
.unwrap();
logger.info("Informative message at date {%D} and time {%T}".to_string());
logger.critical("CRITICAL ERROR".to_string());
}
级别
-
跟踪 => 一切
-
信息 => 一切除了调试
-
警告 => 警告、错误和关键
-
错误 => 错误和关键
-
关键 => 只有关键
依赖项
~2–11MB
~75K SLoC