asynclog -- simple async log library
简单异步日志库,基于log库
项目地址
https://github.com/kivensoft/asynclog_rs
特性
- 基于官方log库实现,切换容易
 
- 支持分类设置日志级别
 
- 终端使用 ansi color 输出日志
 
- 支持同步与异步日志方式
 
- 异步日志可选线程模式及tokio的协程模式
 
- 支持输出到控制台与文件
 
- 日志文件支持设置最大长度
 
第三方依赖
- log
 
- parking_lot
 
- crossbeam
 
- time [optional]
 
- chrono [optional]
 
添加依赖
cargo add --git https://github.com/kivensoft/asynclog_rs asynclog
使用
use asynclog;
use log;
fn main() {
	let log_level = asynclog::parse_level("debug").unwrap();
	let log_max = asynclog::parse_size("100k").unwrap();
	asynclog::Builder::new()
		.level_str("debug").unwrap()
		.log_file("app.log".to_string())
		.log_file_max_str("100k").unwrap()
		.use_console(true)
		.use_async(true)
		.builder().unwrap();
	log::trace!("hello {}!", "trace");
	log::debug!("hello {}!", "debug");
	log::info!("hello {}!", "info");
	log::error!("hello {}!", "error");
}