1个不稳定版本
使用旧的Rust 2015
0.1.0 | 2016年9月20日 |
---|
#42 in #hierarchical
2KB
slog-rs - Rust的日志记录
您可能会考虑使用 tracing
代替
自 slog
创建以来已经有一段时间了,它一直很好地服务于Rust社区。它仍然是一个稳定、功能丰富且经过实战考验的库,被许多重要项目使用。
在过去几年中,Rust社区又创建了一个具有类似功能和出色的异步代码调试支持的新生态系统,拥有更大的开发团队和社区。
请查看 tracing 并看它是否更适合您的用例。它似乎已经成为Rust的默认日志/跟踪解决方案。
您可能仍然希望坚持使用 slog
的原因
async
支持对您没有帮助- 您认为成熟的稳定代码和API是优点
- 它有一些
tracing
缺失的功能 - 出色的性能(我还没有进行过比较,但
slog
的性能非常好)。
简介(请阅读)
slog
是为 Rust 提供结构化、可扩展、可组合和上下文日志的可重复使用组件生态系统。
目标是成为Rust的日志库。 slog
应该容纳各种日志功能和需求。如果您需要某个功能,而标准 log
软件包中缺少该功能,slog
应该提供该功能。
这种力量伴随着一个略微陡峭的学习曲线,因此如果您遇到任何问题,请加入 slog-rs gitter 通道 以获取帮助。如果您想快速方便,请考虑使用 sloggers 包装库。
尽管代码是可靠的,但文档有时需要改进。请报告所有问题和建议。
功能与技术文档
大部分有趣的文档是自动生成的,并托管在 https://docs.rs。
前往 docs.rs/slog 了解功能和API(包含示例)。
注意:slog
只是一个核心,实际功能在许多功能包中。以下是一些例子
- slog-term 用于终端输出
- slog-async 用于异步日志
- slog-json 用于记录JSON
- slog-syslog 用于向syslog记录
- sloggers 用于便利方法(注意:第三方库)
还有许多其他slog功能包。在crates.io上搜索 更多slog功能。编写和发布新的功能包也很容易。查看所有使用slog的 现有包 以获取示例和灵感。
终端输出示例
slog-term
是许多 slog
功能之一 - 有用的展示,多平台,并具有例如自动TTY检测和颜色。
请参阅以下截图:紧凑模式和完整输出模式中的相同输出。
使用 & 帮助
请使用 slog-rs gitter 频道寻求帮助或讨论slog功能。
查看 examples/features.rs 以获取完整的快速代码示例概述。
阅读 文档 了解详细信息和功能。
要报告错误或请求功能,请使用 github issues。
Slog社区
Slog相关包托管在 slog github组织 下。
Dawid Ciężarkiewicz 是 slog
的原始作者和当前维护者,因此是该项目的自我任命的仁慈独裁者。当在slog上工作时,Dawid遵循并期望每个人都遵循他的 行为准则。
在slog生态系统下,可能由其他实体创建、控制和维护特定的仓库,这些实体具有不同级别的自主权。让我们共同努力,在一个尊重和欢迎的环境中实现共同目标!
验证推荐
为了帮助维护,该包的所有权可能由多个开发者共享。建议始终使用 cargo-crev 验证每个依赖项的可信度,包括此依赖项。
lib.rs
:
Nursery for slog-rs
这个包永远是不稳定的,包含一些在某一时刻有用但不是最终版本的东西。