9个版本
0.2.6 | 2024年4月24日 |
---|---|
0.2.5 | 2024年3月29日 |
0.2.4 | 2024年2月8日 |
0.2.3 | 2024年1月8日 |
0.1.1 | 2024年1月6日 |
#189 in 调试
34 每月下载量
用于 vanity
50KB
548 行
Logfather
一个简单、轻量级、易于使用的日志系统。它允许详细的日志消息,可配置的输出级别,并支持文件和终端输出。
特性
- 易于设置和使用
- 支持将日志记录到终端和日志文件
- 可自定义的日志消息格式
- 可配置的日志级别(信息、调试、警告、错误、严重和诊断)
- 可配置的级别显示,包括颜色、高亮和样式
- 可选的结果(使用宏
r_
)用于管理错误 - 线程安全
入门指南
要开始使用Logfather,将以下内容添加到您的 Cargo.toml
[dependencies]
logfather = "0.2.6"
使用方法
宏
- 跟踪:
trace!()
或r_trace!()
- 调试:
debug!()
或r_debug!()
- 信息:
info!()
或r_info!()
- 警告:
warn!()
,warning!()
,r_warn!()
或r_warning!()
- 错误:
error!()
或r_error!()
- 关键:
critical!()
,crit!()
,r_critical!()
或r_crit!()
- 诊断:
diagnostic!()
,diag!()
,r_diagnostic!()
或r_diag!()
快速设置输出到终端
use logfather::*;
let mut logger = Logger::new(); //Terminal output is enabled by default
error!("This is an error message");
仅设置文件输出,并写入特定错误级别的信息
use logfather::*;
let mut logger = Logger::new();
logger.terminal(false); // Disable terminal output
logger.file(true); // Enable file output
logger.path("log.txt"); // Set the path for file logging
logger.level(Level::Error); // Set the minimum level
info!("This is an info message"); // Will not be written to file
debug!("This is a debug message"); // Will not be written to file
warning!("This is a warning message"); // Will not be written to file
error!("This is an error message"); // Will be written to file
critical!("This is a critical message"); // Will be written to file
同时设置终端和文件输出,捕获除警告之外的所有级别
use logfather::*;
// Supports the builder pattern
let mut logger = Logger::new() // Terminal output is enabled by default
.file(true) // Enable file output
.path("log.txt") // Set the path for file logging
.ignore(Level::Warning); // Set the specific level to ignore
debug!("This is a debug message");
warning!("This is a warning message"); // Will be ignored
critical!("This is a critical message");
使用带前缀宏的r_
优雅地处理错误值
use logfather::*;
let mut logger = Logger::new();
match r_info!("This will return a Result<(), LogfatherError>") {
Ok(_) => println!("Successfully logged output"),
Err(e) => println!("Error logging output: {e}"),
}
Debug
和Diagnostic
级别仅适用于调试构建,不会在发布版本中编译
use logfather::*;
debug!("This is a debug message");
diag!("This is a diagnostic message");
diagnostic!("This will not output for release builds");
许可协议
本项目采用MIT许可协议授权 - 有关详细信息,请参阅LICENSE文件。
贡献
._. 你为什么要这样做?
- 如果您希望提出功能请求,请在标题中包含[FEATURE REQUEST],然后请打开一个问题
- 如果您希望贡献,问题和功能请求是很好的方式。如果您想分叉并提交更改的PR,请详细说明正在更改的内容。这是我自己的小项目,所以我会有一些看法,但我并不反对改进或改进建议。
依赖关系
~1MB
~18K SLoC