Expand description
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
use logfence_client::{MessageBuilder, UnixTransport, UnixDatagramTransport, now_rfc3339};
use logfence_proto::syslog::{Facility, Severity};
// 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?;Re-exports§
pub use builder::now_rfc3339;pub use builder::MessageBuilder;pub use error::BuildError;pub use error::ClientError;pub use transport::Transport;pub use transport::UnixDatagramTransport;pub use transport::UnixTransport;
Modules§
- builder
- Fluent
MessageBuilderfor constructing RFC 5424 syslog messages. - error
- Error types for the logfence client library.
- transport
- Transport trait and implementations for delivering syslog messages.