3个稳定版本

1.1.8 2022年9月13日
1.1.7 2021年12月6日
1.1.6 2021年11月28日
1.1.5 2021年5月16日
0.3.5 2021年4月22日

#158调试

每月 24 次下载

MIT 许可证

39KB
725

dlog - 用于微服务架构的日志记录


📦 - Crates.io          🌐 - Web应用          🐱‍💻 - 仓库       📝 - 问题

dlog 是一个为微服务架构设计的日志平台。它通过提供针对几种编程语言的即插即用适配器,消除了设置自己的日志基础设施的麻烦。它每秒可以处理数千条日志,并为开发者提供一个快速、易于使用的界面来分析他们的日志。日志可以通过实时观察或通过具有全文搜索功能的查询界面进行搜索。

功能


此针对Rust log crate的dlog适配器是...

  • 简单,易于集成,适用于已经使用标准Rust log crate的任何人
  • 高效,通过批量处理多条日志,并在积累1000条日志或1秒后进行摄入
  • 非阻塞,基于本地库,将摄入任务卸载到后台线程

要求


此crate依赖于log crate,因为它是该crate的适配器。它应该与每个最新版本兼容。在开发过程中使用了Rust 1.51.0和稳定工具链。

入门


1. 登录/注册

访问 app.dlog.cloud 并创建一个账户或登录到现有账户。您可以使用单个账户参与多个项目,因此无需为每个项目创建新账户。

2. 创建项目

如果您已经创建了新账户,应该会看到一个 创建项目 对话框。为您的项目选择一个名称并点击 创建。如果您想使用现有的项目,请点击侧边栏或项目列表中的项目。要转到项目列表,请点击右上角的 dlog.cloud 标志。在这里,您也可以创建新项目。

3. 创建新应用

选择项目后,应会跳转到 仪表板 部分。在这里,您可以查看当前项目中的所有应用列表。现在,您可以从列表中选择一个应用或通过点击右侧的加号图标创建一个新应用。为新应用选择一个名称并点击 创建

4. 创建新服务

点击应用后,您将看到每个应用的设置和统计信息。您可以从列表中选择现有服务或点击右侧的加号图标。为新服务选择一个名称并点击 创建

5. 创建新 API_KEY

点击服务后,您将看到 API_KEY 列表。如果需要区分不同的部署环境(如 devprod),则服务可能拥有多个 API_KEY。要创建新的 API_KEY,只需点击右侧的加号图标,选择名称并点击 创建

生成 API_KEY 后,您就可以安装模块并配置 dlog。

6. 安装和配置 dlog_rs

确保 Cargo.toml 包含类似以下内容

[dependencies]
log = "0.4.14"
dlog_rs = "1.0.0"

有关如何配置 dlog_rs 的信息,请参阅 基本示例

示例


基本

对于大多数用例,您可以直接使用 dlog 与 log 包。为此,您只需 API_KEY 以开始。

#[macro_use]
extern crate log;

use std::env;

fn main() {
    dlog_rs::configure("<API_KEY>");

    info!("Hello, world!");

    // This is not required but it makes sure that all
    // logs are flushed when the application exits.
    log::logger().flush();
}

API_KEY 从环境变量或使用自定义日志级别

您还可以使用构建器模式从环境变量中加载 API_KEY。在这里,您还可以设置应记录到 dlog 的最小日志级别。

#[macro_use]
extern crate log;

use std::env;

fn main() {
     dlog_rs::Builder::new()
         .with_env_api_key("DLOG_API_KEY")
         .with_level(log::Level::Info)
         .build();

    info!("Hello, world!");

    // This is not required but it makes sure that all
    // logs are flushed when the application exits.
    log::logger().flush();
}

API 参考


方法

方法 参数 默认 描述
configure API_KEY REQUIRED API_KEY 参数必须是一个包含 dlog API_KEY 的字符串。强烈建议不要将 API_KEY 存储在源控制中,而应将其存储在环境变量中。

依赖

~9–25MB
~347K SLoC