11 个不稳定版本 (4 个破坏性更新)
0.5.0 | 2023 年 11 月 17 日 |
---|---|
0.4.4 | 2023 年 11 月 17 日 |
0.4.3 | 2023 年 8 月 15 日 |
0.4.2 | 2023 年 7 月 24 日 |
0.1.2 | 2023 年 1 月 7 日 |
#890 in 编码
26KB
567 行
tokio-fluent
安装
将以下内容添加到您的 Cargo.toml
[dependencies]
tokio-fluent = "0.5.0"
示例
use std::collections::HashMap;
use tokio_fluent::{Client, Config, FluentClient};
use tokio_fluent::record::{Map, Value};
use tokio_fluent::record_map;
#[tokio::main]
async fn main() {
// Connect to server using TCP
let client = Client::new_tcp(
"127.0.0.1:24224".parse().unwrap(),
&Config {..Default::default()}
)
.await
.unwrap();
// Or connecting using unix socket
let client_unix = Client::new_unix(
"/path/to/fluentd.sock",
&Config {..Default::default()}
)
.await
.unwrap();
// With Map::new()
let mut map = Map::new();
map.insert("age".to_string(), 22.into());
map.insert(
"scores".to_string(),
vec![80, 90]
.into_iter()
.map(|e| e.into())
.collect::<Vec<_>>()
.into(),
);
client.send("fluent.test", map).unwrap();
// With record_map! macro
let map_from_macro = record_map!(
"age".to_string() => 22.into(),
"scores".to_string() => [80, 90].into_iter().map(|e| e.into()).collect::<Vec<_>>().into(),
);
client.send("fluent.test", map_from_macro).unwrap();
}
设置配置值
let client = Client::new_tcp(
"127.0.0.1:24224".parse().unwrap(),
&Config {..Default::default()}
)
.await
.unwrap();
超时
将连接到目的地的超时值设置为 std::time::Duration
。默认值为 3 秒。
重试等待时间
设置第一次重试的初始等待时间长度,以毫秒为单位。实际的等待重试时间将是 r * 1.5^(N-1)
(r:此值,N:重试次数)。默认值为 500。
最大重试次数
设置最大重试次数。如果重试次数超过此值,写入/发送操作将失败。默认值为 10。
最大重试等待时间
重试之间等待的最大持续时间,以毫秒为单位。如果计算的重试等待时间超过此值,操作将失败。默认值为 60,000(60 秒)。
依赖关系
~4–14MB
~149K SLoC