Expand description
fasyslog
is a fast syslog client written in Rust.
§Overview
This crate provides facilities to send log messages via syslog. Support implementations:
- RFC-3164 Formatter: The BSD syslog Protocol
- RFC-5424 Formatter: The Syslog Protocol
UdpSender
: RFC 5426 - Transmission of Syslog Messages over UDPTcpSender
: RFC 6587 - Transmission of Syslog Messages over TCPNativeTlsSender
: RFC 5425 - Transport Layer Security (TLS) Transport Mapping for Syslog- This implementation is based on
native-tls
and requires featuresnative-tls
turned on.
- This implementation is based on
RustlsSender
: RFC 5425 - Transport Layer Security (TLS) Transport Mapping for Syslog- This implementation is based on
rustls
and requires featuresrustls
turned on.
- This implementation is based on
- (unix only) Unix domain socket sender (datagram or stream)
§Example
Send a message to a remote syslog server:
let mut sender = fasyslog::sender::tcp_well_known().unwrap();
sender
.send_rfc3164(fasyslog::Severity::INFORMATIONAL, "Hello, syslog!")
.unwrap();
sender.flush().unwrap();
let mut element = fasyslog::SDElement::new("exampleSDID@32473").unwrap();
element.add_param("iut", "3").unwrap();
sender
.send_rfc5424(
fasyslog::Severity::NOTICE,
Some("TCPIN"),
vec![element],
"Hello, syslog!",
)
.unwrap();
sender.flush().unwrap();
Modules§
- format
- Format Syslog messages according to the referred standards.
- sender
- Send syslog messages to a syslog server.