60 个版本 (稳定版)
2.8.0-beta.2 | 2024年1月5日 |
---|---|
2.8.0-beta.1 | 2023年9月10日 |
2.7.0 | 2020年11月30日 |
2.5.2 | 2019年7月22日 |
0.6.0 | 2016年7月19日 |
#60 in 调试
478,267 每月下载量
用于 551 个crate(直接使用370个)
160KB
3K SLoC
slog-rs - Rust 的日志记录工具
你可能考虑使用 tracing
代替
自 slog
创建以来已经有一段时间了,它一直为 Rust 社区提供了良好的服务。它仍然是一个稳定、功能丰富且经过实战考验的库,被许多重要项目使用。
在过去几年中,另一个 Rust 生态系统被创建,具有类似的功能,并且对调试 async
代码提供了非常好的支持,拥有更大的开发团队和社区。
请检查 tracing 并看看它是否更适合你的使用情况。它似乎已经成为了 Rust 的首选日志/跟踪解决方案。
你可能仍然坚持使用 slog
的原因
async
支持对你没有帮助- 你认为成熟的、稳定的代码和 API 是一个优点
- 它有一些
tracing
缺失的功能 - 出色的性能(我还没有做过任何比较,但
slog
的性能非常好)。
简介(请阅读)
slog
是一个用于 Rust 的结构化、可扩展、可组合和上下文相关的日志记录的可重复使用组件生态系统。
目标是成为 Rust 的日志库。 slog
应该能够满足各种日志功能和需求。如果您需要某个功能而标准 log
crate 中没有,slog
应该提供这个功能。
这种力量伴随着一个相对陡峭的学习曲线,所以如果您遇到任何问题,请加入 slog-rs gitter 频道 来获得帮助。如果您想走一条快捷方便的路线,可以考虑使用 sloggers 包装库。
虽然代码是可靠的,但文档有时需要改进。请报告所有问题和想法。
特性与技术文档
大多数有趣的文档都是自动生成的,并托管在 https://docs.rs 上。
前往 docs.rs/slog 了解特性和 API(包括示例)。
注意:slog
只是一个核心,实际的功能在许多功能 crate 中。以下是一些例子
- slog-term 用于终端输出
- slog-async 用于异步日志
- slog-json 用于日志 JSON
- slog-syslog 用于向 syslog 日志
- sloggers 用于便利方法(注意:第三方库)
还有许多其他的slog功能 crate。在crates.io上搜索 更多slog功能。编写和发布新的功能也很容易。查看所有使用slog的 现有crate 以获取示例和想法。
终端输出示例
slog-term
是许多 slog
功能之一 - 有用展示,跨平台,包括例如自动 TTY 识别和颜色。
请看下面的截图:紧凑模式和完整输出模式中的相同输出。
使用 & 帮助
请使用 slog-rs gitter 频道来寻求帮助或讨论slog功能。
请参阅 examples/features.rs 以了解完整的快速代码示例概览。
请阅读 文档 以获取详细信息和新功能。
要报告错误或请求功能,请使用 github issues。
Slog 社区
Slog 相关的 crate 都托管在 slog github 组织 下。
Dawid Ciężarkiewicz 是 slog
的原始作者和当前维护者,因此自封为项目的仁慈独裁者。在开发slog时,Dawid 遵循并期望每个人都遵循他的 行为准则。
在slog生态系统下,可能会创建、控制、维护其他实体的特定存储库,具有不同程度的自治权。让我们共同努力,在一个尊重和欢迎的氛围中实现共同目标!
验证建议
为了帮助维护,此 crate 的所有权可能由多个开发者共享。建议始终使用 cargo-crev 验证每个依赖项(包括此依赖项)的可信度。
依赖关系
~210KB