29 个稳定版本 (5 个主要版本)
5.0.0 | 2024年4月30日 |
---|---|
4.3.3 | 2023年12月29日 |
4.3.0 | 2023年11月23日 |
4.2.0 | 2023年6月12日 |
0.3.1 | 2015年3月30日 |
#39 in 调试
944,052 每月下载量
在 668 个 工具包中使用 (598 个直接使用)
33KB
420 行
simple_logger
一个以可读输出格式打印所有消息的日志记录器。
输出格式基于Supervisord使用的格式,时间戳采用RFC 3339格式。
时间戳的格式和时区可以自定义,可以根据日志级别启用简单的颜色,可以包含线程元数据,输出可以在STDOUT和STDERR之间切换。
公告
项目状态
我在2015年编写了该库的初始版本,从那时起就没有专业编写Rust。我认为这是我能达到的“完成”项目的极限,并且不打算再添加任何新功能。
它仍然在维护中,我会尝试合并修复、改进和功能的拉取请求;尽管我通常拒绝那些超出库目标(成为一个简单的日志记录器)的大型或复杂功能的拉取请求。如果你需要更多,请参考 log
模块中的可用日志实现,或者可以考虑fork simple_logger
并在此基础上构建。
重大变更
- 版本2.0.0将默认时间戳显示从本地时区更改为UTC。有关更多信息,请参阅问题#52。
使用方法
use simple_logger::SimpleLogger;
fn main() {
SimpleLogger::new().init().unwrap();
log::warn!("This is an example message.");
}
此输出
2022-01-19T17:27:07.013874956Z WARN [logging_example] This is an example message.
您可以使用以下命令运行上述示例
cargo run --example init
可选功能
colors
和timestamps
功能默认启用。您可以通过在您的Cargo.toml
中禁用所有功能来删除这些功能和它们各自的依赖项。
[dependencies.simple_logger]
default-features = false
要包含timestamps
功能,但不包含colors
功能
[dependencies.simple_logger]
default-features = false
features = ["timestamps"]
要包含colors
功能,但不包含timestamps
功能
[dependencies.simple_logger]
default-features = false
features = ["colors"]
要包含线程元数据,请使用threads
和nightly
功能
[dependencies.simple_logger]
features = ["threads", "nightly"]
要将日志输出直接定向到stderr
,请使用stderr
功能
[dependencies.simple_logger]
features = ["stderr"]
可以组合多个功能。
[dependencies.simple_logger]
features = ["colors", "threads", "timestamps", "nightly", "stderr"]
包装另一个日志记录器
您可能希望包装此日志记录器,在将事件传递给SimpleLogger实例之前进行自己的处理。您可以直接调用这些函数,而不是调用init()
,该函数会调用log::set_max_level
和log::set_boxed_logger
,这样您就有机会包装或调整日志记录器。请参阅wrap.rs以获取更详细的示例。
控制台设置
SimpleLogger.init()
函数会尝试在各种情况下尽可能配置颜色支持
- 在Windows上,它将启用颜色输出。请参阅
set_up_windows_color_terminal()
。 - 当使用
colors
和stderr
功能时,它将指示colored
库在STDERR是终端时显示颜色(而不是检查STDOUT是否是终端)。请参阅use_stderr_for_colors()
。
许可证
simple_logger
受MIT许可证许可。
作者
由Sam Clements编写。
依赖项
~0–11MB
~72K SLoC