@TOC
前言
rust終將君臨天下。但現在還處於發展的早期,雖然有很多日誌包,但沒有一款日誌包用的順手。這裡推薦wd_log板條箱。非常實用,傾情推薦。
支援功能如下:
- 列印等級設定
- 列印選項設定
- 自定義日誌頭
- 終端多種顏色列印
- 支援輸出到檔案
- 格式化輸出
- result自動處理
- 多欄位組合輸出 (coding)
簡介
支援的日誌等級
- DEBUG
- INFO
- WARN
- ERROR
- PANIC
簡單栗子
[dependencies] wd_log = "0.1"
列印效果如下:fn main() { //設定列印級別為INFO,更多設定參考文件 wd_log::set_level(wd_log::INFO); //以_ln結尾的巨集會自帶換行 wd_log::log_debug_ln!("hello world"); wd_log::log_info_ln!("{} {}","hello","world"); wd_log::log_warn_ln!("hello world"); wd_log::log_error_ln!("{:?}","hello world"); }
- 注意: log_panic 會在列印後,直接panic程式,測試如下:
#[test] #[should_panic] fn test_panic(){ wd_log::log_panic!("hello world") }
更多用法
- 以res_開頭的巨集,可以對result型別進行自動處理,如下:
let result = std::fs::File::open("test.txt"); //如果result為Ok(T) 則返回Some(T) //如果result為Err(_) 則列印並返回None let file = wd_log::res_error_ln!(result);
- res_panic 用法如下:
let result = std::fs::File::open("test.txt"); //如果result為Ok(T) 則返回T //如果result為Err(_) 則列印錯誤並panic let file = wd_log::res_panic!(result);
文件
本作品採用《CC 協議》,轉載必須註明作者和本文連結