Fasyslog: A fast syslog client written in Rust
Description
Client library written in Rust to send messages to a Syslog server. 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-tlsand requires featuresnative-tlsturned on.
- This implementation is based on
RustlsSender: RFC 5425 - Transport Layer Security (TLS) Transport Mapping for Syslog- This implementation is based on
rustlsand requires featuresrustlsturned on.
- This implementation is based on
- (unix only) Unix domain socket sender (datagram or stream)
Getting Started
Add fasyslog to your Cargo.toml:
cargo add fasyslog
use Severity;
If you'd like to integrate with log crate, you can try the logforth example:
[]
= { = "..." }
= { = "...", = ["syslog"] }
use syslog;
use Syslog;
use SyslogWriter;
Example
Check the examples directory for more examples.
Documentation
Read the online documents at https://docs.rs/fasyslog.
Minimum Supported Rust Version (MSRV)
This crate is built against the latest stable release, and its minimum supported rustc version is 1.75.0.
The policy is that the minimum Rust version required to use this crate can be increased in minor version updates. For example, if Fasyslog 1.0 requires Rust 1.20.0, then Fasyslog 1.0.z for all values of z will also require Rust 1.20.0 or newer. However, Fasyslog 1.y for y > 0 may require a newer minimum version of Rust.
License
This project is licensed under Apache License, Version 2.0.