yan-log
yan-log是一个用Rust语言开发的轻量级日志库,采用异步输出日志,支持日志级别、按日期时间拆分、按文件大小拆分、自动删除旧文件,建议搭配
log 日志门面使用,
默认情况在 release 模式不会打印日志到控制台,可通过开启 stdout 启动 release 模式的控制台日志打印
Features(特性)
stdout: 开启 stdout 特性时,release 模式,会和 dev 模式相同打印日志到控制台
用法
搭配 log 日志门面库使用示例
fn main() {
yan_log::Logger::init("logs", yan_log::LogLevel::Debug)
.set_file_pattern(r#"app_%Y-%m-%d %H:%M:%S-%i.log"#, yan_log::LoggerFormatTimeDivisionRule::Day)
.start()
.unwrap();
log::info!("应用已启动");
yan_log::Logger::shutdown();
}
最小运行示例
const LOG:yan_log::Logger = yan_log::Logger::new(module_path!(), yan_log::LogLevel::Debug);
fn main() {
yan_log::Logger::init("logs", yan_log::LogLevel::Debug)
.set_file_pattern(r#"app_%Y-%m-%d %H:%M:%S-%i.log"#, yan_log::LoggerFormatTimeDivisionRule::Day)
.start()
.unwrap();
log.debug("Application started");
yan_log::Logger::shutdown();
}
完整使用示例
fn main() {
yan_log::Logger::init("logs", yan_log::LogLevel::Debug)
.set_file_pattern("app_%Y-%m-%d_%H:%M:%S-%i.log", yan_log::LoggerFormatTimeDivisionRule::Day)
.set_max_file_triggering_policy(104857600)
.set_max_retained_files(100)
.set_bound(200)
.start()
.unwrap();
log::trace!("Application started");
log::debug!("Application started");
log::info!("Application started");
log::warn!("Application started");
log::error!("Application started");
yan_log::Logger::shutdown();
}