7 个不稳定版本 (3 个破坏性更新)

0.6.2 2023年7月10日
0.6.1 2023年7月9日
0.5.0 2023年7月9日
0.4.0 2023年7月9日
0.1.0 2023年7月6日

#2138 in 网页开发

每月25次下载

MIT 许可证

13KB
236 代码行

Rust 的 Logsnag API 包装器

Crate API

logsnag 是一个简单高效的 Rust 库,用于与 Logsnag API 交互。它支持异步请求,并允许轻松发布日志和洞察。

注意:此 crate 正在积极开发中。它可能在 v1.0 版本之前发生很大变化。如果您在生产应用中使用它,请记住这一点。

功能

  • 将带有指定事件、可选描述、图标和通知标志的日志发布到频道
  • 发布带有指定标题、事件、值和可选图标的洞察
  • 支持标签
  • 支持对字符串输入进行验证(部分)

入门指南

首先,将 logsnag 添加到您的 Cargo.toml

[dependencies]
logsnag = "0.6.2"

然后,在您的文件中导入它。

use logsnag::Logsnag;

用法

以下是如何使用 Logsnag 客户端的示例。它使用构建器来为初始事件/洞察添加可选参数。任何具有 with_ 的内容都是可选函数。请注意,对于标签,您必须逐个使用 with_tag() 添加。

use logsnag::Logsnag;

async fn main() {

    let logsnag = Logsnag::new(
        env::var("LOGSNAG_API_KEY").expect("No Logsnag API Key (LOGSNAG_API_KEY) found in Environment.")
        env::var("LOGSNAG_PROJECT").expect("No Logsnag Project (LOGSNAG_PROJECT) found in Environment.")
    );

    let publish_result = logsnag.event("channel","event")
        .with_notify(true)
        .with_description("description")
        .with_icon("❤️")
        .with_tag("tag", "value")
        .with_tag("tag2", "value2")
        .publish()
        .await;

    let insight_result = logsnag.insight("title", "value") //value can be also an Int or a bool
        .with_icon("🟢")
        .publish()
        .await;
}

自动验证

标签需要特定的格式才能正确发布事件。它们需要是小写的,没有特殊字符,没有空格,没有大写字母。只允许使用破折号。

with_tag() 会自动解析您的文本并删除不需要的字符,以防止运行时错误。目前没有在 Rust 中进行编译时验证的已知方法,但如果有所改变,我们将实现它。如果您知道如何在函数内部完成此操作,请告诉我们。

文档

有关我们在此库中使用的方法的更多详细信息,请参阅 API 文档

贡献

请随时提交问题,fork 存储库并发送拉取请求!

有任何问题,您可以在 官方 Logsnag Discord 服务器 上找到我(rhh4x0r)或提交一个问题。

依赖项

~8–20MB
~304K SLoC