18 releases (9 breaking)
Uses old Rust 2015
0.10.0 | Feb 25, 2018 |
---|---|
0.9.1 | Oct 11, 2017 |
0.9.0 | May 12, 2017 |
0.8.0 | Feb 25, 2017 |
0.2.0 | Mar 29, 2016 |
#4 in #fluentd
44 downloads per month
185KB
898 lines
Fruently
A yet another Fluentd logger for Rust. Any version newer than Rust 1.18.0 is supported.
Note
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.
Usage
Add this to your Cargo.toml:
[dependencies]
fruently = "~0.10.0"
and this to your crate root:
extern crate fruently;
Complete examples
Forwarding with JSON
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,
}
}
Forwarding with msgpack
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,
}
}
Forwarding asynchronously
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.
Backward compatibility
Using with Fluentd v0.12, you must specify time-as-integer
feature flag:
[build-dependencies.fruently]
version = "~0.10.0"
features = ["time-as-integer"]
Related Articles
- 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)
LICENSE
MIT.
Dependencies
~4–6MB
~120K SLoC