#logging #logger #cli #log #dx

logi

一个现代、酷炫且美观的日志记录器,可提升 CLI 应用程序的 DX。

7 个版本

0.0.7 2023 年 1 月 21 日
0.0.6 2023 年 1 月 21 日

#662 in 命令行界面

每月 25 下载

Apache-2.0

295KB
234 代码行

Logi - 一个不那么无聊的日志记录器

一个现代、酷炫且美观的日志记录器,可提升 CLI 应用程序的 DX。

Logi example


注意:此库是我的一些个人项目的 WIP。它被创建为易于使用和便携。



为什么?

日志是任何 CLI 应用程序的重要组成部分。它是您与用户沟通的方式。您不希望用无用信息淹没他们。您还需要确保日志易于阅读且易于识别。如果用户每次看到日志时都需要回放并思考,那么这不是一个好的日志。

当然,我们希望这一切都不需要写很多代码。我们希望为开发者提供既熟悉又易于使用的东西。

此库就是为了解决这些问题而创建的。它易于使用且易于阅读。

如何?

它使用 hour:minute:second | icon type | message 的模式。图标是一个代表日志类型的表情符号。类型是一个代表日志类型的 4 个字母着色词。消息是着色以匹配类型的最终日志消息。

对于用户

用户输出被设计成易于阅读。这意味着很容易识别日志类型,也容易阅读消息。

示例

14:58:22 | 🔧 TRCE | Trace message.
14:58:22 | 🔮 DBUG | Debug message.
14:58:22 | 📰 INFO | Info message.
14:58:22 | 🎉 YEEE | Success message.
14:58:22 | 💡 WARN | Warn message.
14:58:22 | 💥 F#CK | Error message.
14:58:22 | 🧭 CSTM | Custom message.
对于开发者

开发者 API 被设计成既熟悉又易于使用。这意味着它非常接近 std Rust 日志记录器。

示例

trace!("Trace message.");           // 00:00:00 | 🔧 TRCE | Trace message.
debug!("Debug message.");           // 00:00:00 | 🔮 DBUG | Debug message.
info!("Info message.");             // 00:00:00 | 📰 INFO | Info message.
success!("Success message.");       // 00:00:00 | 🎉 YEEE | Success message.
warn!("Warn message.");             // 00:00:00 | 💡 WARN | Warn message.
error!("Error message.");           // 00:00:00 | 💥 F#CK | Error message.
custom!("🧭 CSTM", "Custom one.");  // 20:39:24 | 🧭 CSTM | Custom message.

用法

将以下内容添加到您的 Cargo.toml

[dependencies]
logi = "x.x.x" # Just replace `x.x.x` with the latest release.

并将其添加到主文件

#[macro_use]
extern crate logi;

许可证

本项目采用 Apache-2.0 许可证。有关更多详细信息,请参阅 LICENSE 文件。

依赖项

~5–16MB
~176K SLoC