| Crates.io | tin-logger |
| lib.rs | tin-logger |
| version | 0.1.0 |
| created_at | 2025-10-13 00:27:55.161706+00 |
| updated_at | 2025-10-13 00:27:55.161706+00 |
| description | A logging library based on flexi_logger with file rotation, console output, and custom formatting support |
| homepage | https://github.com/JiabinTang/tin-logger |
| repository | https://github.com/JiabinTang/tin-logger |
| max_upload_size | |
| id | 1879866 |
| size | 39,377 |
基于 flexi_logger 的高性能日志库
tin-logger 是一个基于 flexi_logger 构建的高性能日志库,提供了简洁易用的 API 和丰富的配置选项。支持文件日志轮转、控制台输出、自定义格式化等功能,适用于各种 Rust 应用程序的日志需求。
在你的 Cargo.toml 中添加依赖:
[dependencies]
tin-logger = { git = "https://gitee.com/J_Tang/tin-logger.git" }
log = "0.4"
use tin_logger::Logger;
use log::{info, warn, error};
fn main() {
// 使用默认配置初始化日志系统
Logger::init();
info!("应用程序启动");
warn!("这是一个警告信息");
error!("这是一个错误信息");
}
use tin_logger::Logger;
use log::{debug, info};
fn main() {
// 只设置日志级别,其他使用默认配置
Logger::init_with_level("debug".to_string());
debug!("调试信息");
info!("普通信息");
}
use tin_logger::{Logger, LoggerConfig};
use log::LevelFilter;
use std::path::PathBuf;
fn main() {
let config = LoggerConfig {
level: LevelFilter::Info,
directory: PathBuf::from("./logs"),
basename: "myapp".to_string(),
suffix: "log".to_string(),
rotate_size: 50 * 1024 * 1024, // 50MB
duplicate_to_stdout: tin_logger::config::Duplicate::Info,
};
Logger::init_with_config(config).expect("日志初始化失败");
log::info!("使用自定义配置启动");
}
use tin_logger::{Logger, LoggerConfig};
use log::LevelFilter;
fn main() {
let config = LoggerConfig::builder()
.level(LevelFilter::Debug)
.directory("./app_logs")
.basename("service")
.rotate_size(100 * 1024 * 1024) // 100MB
.duplicate_to_stdout(tin_logger::config::Duplicate::Warn)
.build();
Logger::init_with_config(config).expect("日志初始化失败");
}
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
level |
LevelFilter |
Info |
日志级别过滤器 |
directory |
PathBuf |
"logs" |
日志文件存储目录 |
basename |
String |
"app" |
日志文件基础名称 |
suffix |
String |
"log" |
日志文件后缀 |
rotate_size |
u64 |
100MB |
文件轮转大小(字节) |
duplicate_to_stdout |
Duplicate |
None |
控制台输出重复级别 |
flexi_logger - 高性能日志实现log - Rust 标准日志接口config - 配置管理(可选)serde - 序列化支持(最小化特性)MIT