#logging #structured #hierarchical #log

无需 std slog

针对 Rust 的结构化、可扩展、可组合的日志记录

60 个版本 (稳定版)

2.8.0-beta.22024年1月5日
2.8.0-beta.12023年9月10日
2.7.0 2020年11月30日
2.5.2 2019年7月22日
0.6.0 2016年7月19日

#60 in 调试

Download history 112568/week @ 2024-05-01 116355/week @ 2024-05-08 123643/week @ 2024-05-15 118152/week @ 2024-05-22 127003/week @ 2024-05-29 121817/week @ 2024-06-05 125891/week @ 2024-06-12 120274/week @ 2024-06-19 116460/week @ 2024-06-26 105477/week @ 2024-07-03 118090/week @ 2024-07-10 118304/week @ 2024-07-17 118382/week @ 2024-07-24 120309/week @ 2024-07-31 120319/week @ 2024-08-07 96984/week @ 2024-08-14

478,267 每月下载量
用于 551 个crate(直接使用370个)

MPL-2.0 OR MIT OR Apache-2.0

160KB
3K SLoC

slog-rs logo
GH Actions (Cargo Test) slog-rs on crates.io slog-rs Gitter Chat docs-rs: release versions documentation
入门 简介 常见问题解答
crate 列表

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功能 crate。在crates.io上搜索 更多slog功能。编写和发布新的功能也很容易。查看所有使用slog的 现有crate 以获取示例和想法。

终端输出示例

slog-term 是许多 slog 功能之一 - 有用展示,跨平台,包括例如自动 TTY 识别和颜色。

请看下面的截图:紧凑模式和完整输出模式中的相同输出。

slog-rs terminal example output

使用 & 帮助

请使用 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