From: Jakub Jirutka Date: Thu, 01 Sep 2022 22:53:38 +0200 Subject: [PATCH] Add support for logging into syslog This is more a quick&dirty approach, not meant to be upstreamed as-is. --- a/src/garage/main.rs +++ b/src/garage/main.rs @@ -59,7 +59,19 @@ if std::env::var("RUST_LOG").is_err() { std::env::set_var("RUST_LOG", "netapp=info,garage=info") } - pretty_env_logger::init(); + + // XXX-Patched + if let Ok(syslog_level) = std::env::var("SYSLOG_LEVEL") { + let level = syslog_level + .parse() + .expect(&format!("SYSLOG_LEVEL={} is not a valid syslog level", syslog_level)); + syslog::init_unix(syslog::Facility::LOG_DAEMON, level) + .expect("Failed to connect to syslog"); + eprintln!("Logging to syslog"); + } else { + pretty_env_logger::init(); + } + sodiumoxide::init().expect("Unable to init sodiumoxide"); let opt = Opt::from_args(); --- a/src/garage/Cargo.toml +++ b/src/garage/Cargo.toml @@ -37,2 +37,3 @@ sodiumoxide = { version = "0.2.5-0", package = "kuska-sodiumoxide" } +syslog = "6.0"