use slog::o;
use slog::Drain;
use super::error::Result;
pub fn setup_logging() -> Result<slog_scope::GlobalLoggerGuard> {
let guard = slog_scope::set_global_logger(default_root_logger()?);
let _log_guard = slog_stdlog::init()?;
Ok(guard)
}
pub fn default_root_logger() -> Result<slog::Logger> {
let drain = slog::Duplicate(default_discard()?, default_discard()?).fuse();
let logger = slog::Logger::root(drain, o!("who" => "rust-starter"));
Ok(logger)
}
fn default_discard() -> Result<slog_async::Async> {
let drain = slog_async::Async::default(slog::Discard);
Ok(drain)
}