A yet another Fluentd logger for Rust. Any version newer than Rust 1.18.0 is supported.
If you use this library in Windows, please install Visual Studio 2015 or 2017 and rust compiler which is targeted for MSVC API and its package manager, which is called cargo via rustup.rs.
And then, follow the below usage instructions.
Add this to your Cargo.toml:
[dependencies]
fruently = "~0.10.0"
and this to your crate root:
extern crate fruently;
extern crate fruently;
use fruently::fluent::Fluent;
use std::collections::HashMap;
use fruently::forwardable::JsonForwardable;
fn main() {
let mut obj: HashMap<String, String> = HashMap::new();
obj.insert("name".to_string(), "fruently".to_string());
let fruently = Fluent::new("127.0.0.1:24224", "test");
match fruently.post(&obj) {
Err(e) => println!("{:?}", e),
Ok(_) => return,
}
}
extern crate fruently;
use fruently::fluent::Fluent;
use std::collections::HashMap;
use fruently::forwardable::MsgpackForwardable;
fn main() {
let mut obj: HashMap<String, String> = HashMap::new();
obj.insert("name".to_string(), "fruently".to_string());
let fruently = Fluent::new("127.0.0.1:24224", "test");
match fruently.post(&obj) {
Err(e) => println!("{:?}", e),
Ok(_) => return,
}
}
Fruently does not have asynchronous API because Rust has std::thread::spawn
function to make asynchronous API from synchronous one.
If you want to send records into Fluentd asynchronously, please consider using std::thread::spawn
like: asynchronous example.
Using with Fluentd v0.12, you must specify time-as-integer
feature flag:
[build-dependencies.fruently]
version = "~0.10.0"
features = ["time-as-integer"]
- EventTime: http://www.clear-code.com/blog/2017/5/24.html (ja)
- Fluent Logger Reliability: http://www.clear-code.com/blog/2017/4/28.html (ja)
- Fundamentals: http://www.clear-code.com/blog/2016/4/22.html (ja)
MIT.