11 个版本

0.3.0 2023年12月24日
0.2.0 2023年10月4日
0.1.8 2023年9月20日
0.1.3 2023年1月31日

#22 in #tracing-layer

Download history 7/week @ 2024-04-07 7/week @ 2024-04-14 18/week @ 2024-04-21 8/week @ 2024-04-28 145/week @ 2024-05-05 69/week @ 2024-05-12 13/week @ 2024-05-19 2/week @ 2024-05-26 17/week @ 2024-06-02 24/week @ 2024-06-09 72/week @ 2024-06-16 43/week @ 2024-06-23 32/week @ 2024-06-30 42/week @ 2024-07-07 9/week @ 2024-07-21

84 每月下载量

MIT 许可证

26KB
431

dd-tracing-layer

license crates.io docs.rs

一个将日志发送到 Datadog 日志 API跟踪层

当你无法访问你的基础设施并且无法使用 Datadog Agent 或任何 其他方式 时,它非常有用。

要求

您需要一个 Datadog API 密钥 才能使其正常工作。

端点

此 crate 使用 v2 日志端点,默认情况下会尝试将日志发送到 US1 区域。

您可以根据需要轻松更改区域或提供自定义 URL。

示例

以下是如何设置并使用它的简单示例

use dd_tracing_layer::DatadogOptions;
use tracing_subscriber::prelude::*;
use tracing::{instrument, subscriber};

#[instrument]
fn log(msg: &'static str) {
    tracing::info!("your message: {}", msg);
}

fn main() {
    let options = DatadogOptions::new("my-service", "my-datadog-api-key")
        .with_tags("env:dev");
    let dd = dd_tracing_layer::create(options);
    let subscriber = tracing_subscriber::registry()
        .with(tracing_subscriber::fmt::Layer::new().json())
        .with(dd);
    let _s = subscriber::set_default(subscriber);
    log("hello world!");
}

注意事项

该层将在收到最后一条日志后 5 秒或当缓冲区达到 1000 条日志时发送日志。这基本上是由于 Datadog API 的限制。

依赖项

~10–22MB
~329K SLoC