1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! logfence client library.
//!
//! Provides a fluent [`MessageBuilder`] for constructing RFC 5424 syslog
//! messages with JSON key-value payloads, and transport implementations for
//! delivering them to a running [`logfenced`] daemon or directly to rsyslog.
//!
//! # Quick start
//!
//! ```rust,no_run
//! use logfence_client::{MessageBuilder, UnixTransport, UnixDatagramTransport, now_rfc3339};
//! use logfence_proto::syslog::{Facility, Severity};
//!
//! # async fn example() -> Result<(), Box<dyn std::error::Error>> {
//! // Stream transport (octet-count framing) — for logfenced or rsyslog imuxsock stream.
//! let transport = UnixTransport::new("/run/logfenced/logfenced.sock", 65536);
//! // Datagram transport — for rsyslog imuxsock datagram or logfenced unix_dgram mode.
//! // let transport = UnixDatagramTransport::new("/run/syslog", 65536);
//!
//! MessageBuilder::new(Facility::Local0, Severity::Info)
//! .timestamp(now_rfc3339())
//! .hostname("myhost")
//! .app_name("myapp")
//! .msgid("REQUEST")
//! .kv("user_id", 42_u32)?
//! .kv("action", "login")?
//! .send(&transport)
//! .await?;
//! # Ok(())
//! # }
//! ```
//!
//! [`logfenced`]: https://github.com/hildstrom/logfence
pub use ;
pub use ;
pub use ;