19 个版本
0.2.16 | 2022 年 11 月 5 日 |
---|---|
0.2.15 | 2022 年 11 月 5 日 |
0.2.13 | 2022 年 6 月 9 日 |
0.2.12 | 2022 年 5 月 1 日 |
0.1.2 | 2022 年 3 月 27 日 |
#312 在 调试 类别中
每月 37 次下载
20KB
330 行
plog
为 Rust 程序编写的美观日志记录器。
一个使用宏来记录应用程序的库,初始包含五个级别:debug!
、info!
、ok!
、warn!
和 error!
,每个都作为宏分发
use plog::{info, ok};
use std::{thread, time::Duration};
fn main() {
let threads: Vec<_> = (0..=10)
.map(|id| {
info!("Creating thread {id}");
thread::spawn(move || {
thread::sleep(Duration::from_millis(1000));
ok!("Thread {id} terminated");
})
})
.collect();
threads.into_iter().for_each(|thr| thr.join().unwrap());
}
特性
由于专注于优化,lib 中的每个功能(除日志宏外)都通过特性提供。Plog 包含以下特性
特性 | 描述 | 附加依赖 | 原因 |
---|---|---|---|
local_date |
在日志中包含本地日期,格式为 %Y-%M-%D |
chrono (分支 time-0.3 ) |
获取本地日期信息和格式 |
local_time |
类似于 local_date ,但使用 %H:%M:%S 记录时间 |
chrono (分支 time-0.3 ) |
获取本地时间信息和格式 |
context |
包含请求日志的行和文件 | 无 | |
colored |
使用转义序列打印样式文本 | crossterm |
Crossplatform 转义序列解析器 |
persistent |
添加由 LOG_FILEPATH 环境变量处理的持久日志,将每个日志保存到指定的文件中 |
parking_lot (直到 0.2.14) |
const_mutex 用于稳定 Rust 和优化 |
impls |
实现了对 log 和 show_<variant> 的支持,用于 Option<T> 和 Result<T, U> |
无 |
计划
- 将日期和时间拆分为两个特征
- 将日志方法包含到
Option
和Result
- 优化代码可读性
- 包含基准测试
- 创建文档
依赖关系
~0–8MB
~50K SLoC