secra_logger/
lib.rs

1//! # Secra Logger
2//!
3//! 一个生产级的 Rust 日志系统库,基于 tracing 生态系统构建。
4//!
5//! ## 特性
6//!
7//! - ✅ 基于 tracing 生态,支持结构化日志
8//! - ✅ JSON 格式输出(基于 bunyan formatter)
9//! - ✅ 支持控制台、文件、或同时输出
10//! - ✅ 按文件大小滚动
11//! - ✅ 按日期分目录(YYYY-MM-DD)
12//! - ✅ 可配置文件保留策略
13//! - ✅ 线程安全
14//! - ✅ 支持 log crate 桥接
15//! - ✅ 支持 actix-web 集成
16//!
17//! ## 快速开始
18//!
19//! ```no_run
20//! use secra_logger::{init_logger, LoggerConfig, LogOutput};
21//! use tracing::Level;
22//!
23//! let config = LoggerConfig::new(
24//!     Level::INFO,
25//!     LogOutput::Both,
26//!     "./logs/app.log",
27//!     10 * 1024 * 1024, // 10MB
28//!     Some(10), // 最多保留 10 个文件
29//!     "myapp",
30//! );
31//!
32//! init_logger(config).unwrap();
33//!
34//! tracing::info!("应用启动");
35//! ```
36
37pub mod config;
38pub mod error;
39pub mod init;
40pub mod rotation;
41pub mod subscriber;
42pub mod writer;
43
44// 重新导出公共 API
45pub use config::{LogOutput, LoggerConfig};
46pub use error::{LoggerError, Result};
47pub use init::init_logger;
48
49// 重新导出 tracing 相关类型,方便用户使用
50pub use tracing::{self, Level};
51