|
|
|
@ -13,10 +13,6 @@ use std::str::FromStr; |
|
|
|
|
|
|
|
|
|
pub const LOG_LEVELS: [&str; 5] = ["error", "warn", "info", "debug", "trace"]; |
|
|
|
|
|
|
|
|
|
/// 3rd-party libraries that produce log spam - we set these to a fixed higher level
|
|
|
|
|
/// to allow using e.g. TRACE without drowning our custom messages
|
|
|
|
|
pub const SPAMMY_LIBS: [&str; 6] = ["tokio_reactor", "hyper", "reqwest", "mio", "want", "rumqtt"]; |
|
|
|
|
|
|
|
|
|
/// Implement this for the main config struct
|
|
|
|
|
pub trait AppConfig: Sized + Serialize + DeserializeOwned + Debug + Default { |
|
|
|
|
type Init; |
|
|
|
@ -26,7 +22,7 @@ pub trait AppConfig: Sized + Serialize + DeserializeOwned + Debug + Default { |
|
|
|
|
|
|
|
|
|
/// Get names of library modules to suppress from log output (limit to warn or error)
|
|
|
|
|
fn logging_suppress_mods(&self) -> Option<Vec<&str>> { |
|
|
|
|
Some(Vec::from(&SPAMMY_LIBS[..])) |
|
|
|
|
None |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/// Get log module levels to use (take priority over the main log level)
|
|
|
|
|