| Crates.io | yan-log |
| lib.rs | yan-log |
| version | 0.1.3 |
| created_at | 2025-11-19 13:35:50.803221+00 |
| updated_at | 2025-12-01 08:21:39.391546+00 |
| description | 轻量级日志库 |
| homepage | https://github.com/longyu-yan/yan-log |
| repository | https://github.com/longyu-yan/yan-log |
| max_upload_size | |
| id | 1940135 |
| size | 65,895 |
yan-log是一个用Rust语言开发的轻量级日志库,采用异步输出日志,支持日志级别、按日期时间拆分、按文件大小拆分、自动删除旧文件,建议搭配 log 日志门面使用, 默认情况在 release 模式不会打印日志到控制台,可通过开启 stdout 启动 release 模式的控制台日志打印
stdout: 开启 stdout 特性时,release 模式,会和 dev 模式相同打印日志到控制台
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 日志门店使用输出日志
log::info!("应用已启动");
// shutdown函数用于程序停止时优雅关闭异步日志线程,将日志完全写入文件,避免日志丢失
yan_log::Logger::shutdown();
}
// 定义常量
// const LOG: yan_log::Logger = yan_log::Logger::new(module_path!(), yan_log::LogLevel::Error);
// 定义静态变量
static LOG: yan_log::Logger = yan_log::Logger::new(module_path!(), yan_log::LogLevel::Error);
fn main() {
yan_log::Logger::init("logs", yan_log::LogLevel::Info)
// 设置日志文件名字
.set_file_name("web.log")
// 启动日志系统
.start()
.unwrap();
// 直接记录日志,不使用 log 日志门面
// 记录的日志级别会优先采用 LOG 变量指定的级别,而不会采用 init 函数指定的日志级别
LOG.debug("应用已启动");
// shutdown 函数用于程序停止时优雅关闭异步日志线程,将日志完全写入文件,避免日志丢失
yan_log::Logger::shutdown();
}
fn main() {
// 定义需要忽略记录日志的模块
let ignore_module = vec!["test", "test2::submodule2", "test3::submodule3"];
// 初始化全局日志系统
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_ignore_module(ignore_module)
// 设置日志文件大小触发拆分文件策略(100MB = 104857600B)
.set_max_file_triggering_policy(104857600)
// 设置最大保留日志文件数量
.set_max_retained_files(100)
// 设置是时间偏移量,北京时间为 utc+8(8小时 = 2880_0000毫秒)
.set_timezone_offset(2880_0000)
// 设置日志消息通道的缓冲区大小
.set_bound(200)
// 启动日志系统
.start()
.unwrap();
// 记录跟踪日志
log::trace!("应用已启动");
// 记录调试日志
log::debug!("应用已启动");
// 记录信息日志
log::info!("应用已启动");
// 记录警告日志
log::warn!("应用已启动");
// 记录错误日志
log::error!("应用已启动");
// shutdown函数用于程序停止时优雅关闭异步日志线程,将日志完全写入文件,避免日志丢失
yan_log::Logger::shutdown();
}