toml
log = "0.4"
fast_log = { version = "1.7", features = ["lz4", "zip", "gzip"] }
rs
use fast_log::config::Config;
use fast_log::plugin::file_split::{RollingType, KeepType, DateType, Rolling};
use std::thread::sleep;
use std::time::Duration;
use fast_log::plugin::packer::LogPacker;
use fast_log::FastLogFormatJson;
use fast_log::FastLogFormat;
use log::LevelFilter;
fn main() {
fast_log::init(Config::new()
.file("runtime/logs/app.log") //日志名可以自定义
.chan_len(Some(100000)) // 异步通道
.console()
.file_split("runtime/logs/", Rolling::new(RollingType::ByDate(DateType::Day)), KeepType::KeepNum(2), LogPacker {}, ) //日志轮转
.format(FastLogFormatJson::new()) //日志格式为json
).unwrap();
for _ in 0..6 {
log::info!("Commencing yak shaving");
}
log::logger().flush(); //这个好像必须得有,不然日志无法刷新到文件内,或者上面的chan_len设置的很小,比如小于当前循环的6,就不用写flush了
println!("you can see log files in path: {}", "runtime/logs/")
}