This PR implements Default for Facility, Formatter3164, and Formatter5424.
Motivation
Most of the Formatter* fields are about the host environment. The only one that the application really needs to fill in is facility. By implementing Default for Formatter*, constructing one is made much easier:
let formatter = syslog::Formatter3164 {
facility: syslog::Facility::LOG_DAEMON,
..Default::default()
};
In addition to the Default implementations, the init function now fills in the hostname in the same way.
Dependencies & MSRV
This PR adds a dependency on the hostname crate.
This PR does not change the minimum supported Rust version of this crate, which appears to be 1.31. (Even without this PR, this crate fails to build on Rust ≤ 1.30.)
This PR implements
Default
forFacility
,Formatter3164
, andFormatter5424
.Motivation
Most of the
Formatter*
fields are about the host environment. The only one that the application really needs to fill in isfacility
. By implementingDefault
forFormatter*
, constructing one is made much easier:Defaults
The default
Facility
isLOG_USER
, as specified by POSIX.Formatter defaults are as follows:
facility
:LOG_USER
.hostname
: Automatically detected using thehostname
crate, if possible.process
: Automatically detected usingstd::env::current_exe
, or if that fails, an empty string.pid
: Automatically detected usinglibc::getpid
.syslog::init
In addition to the
Default
implementations, theinit
function now fills in thehostname
in the same way.Dependencies & MSRV
This PR adds a dependency on the
hostname
crate.This PR does not change the minimum supported Rust version of this crate, which appears to be 1.31. (Even without this PR, this crate fails to build on Rust ≤ 1.30.)