secra_logger/lib.rs
1//! Secra Logger - 生产级 Rust 日志系统库
2//!
3//! 基于 tracing 生态系统构建,支持结构化 JSON 日志、文件滚动、UTC+8 时区等特性。
4//!
5//! # 示例
6//!
7//! ```no_run
8//! use secra_logger::{LoggingConfig, LoggingModule, Logger};
9//!
10//! // 创建日志配置
11//! let config = LoggingConfig::default();
12//!
13//! // 创建日志模块
14//! let module = LoggingModule::new();
15//!
16//! // 创建 Logger
17//! let logger = Logger::new();
18//! ```
19
20mod config;
21mod module;
22mod logger;
23mod field_normalization;
24
25// 重新导出主要类型和函数
26pub use config::{
27 LoggingConfig, OutputMode, LogFileConfig, LogConsoleConfig, LogFieldsConfig,
28 LogrotateConfig, VectorConfig, VectorSourceConfig, VectorTransformConfig,
29 VectorSinkConfig, VectorBatchConfig, VectorRequestConfig,
30};
31pub use module::LoggingModule;
32pub use logger::{Logger, LoggerComponent};
33pub use field_normalization::{FieldNormalizationLayer, normalize_field_name};
34
35// 重新导出 tracing,让外部项目可以直接使用 secra_logger::tracing
36// 这样安装 secra-logger 后就可以直接使用 tracing,无需单独添加依赖
37pub use tracing;
38pub use tracing::{
39 // 常用宏
40 debug, error, info, trace, warn,
41 // 常用类型和函数
42 Level, Event, Span, Subscriber,
43 // 常用函数
44 span, event,
45};