From 5d5b9422eef4d912e9b273a6d7f87df5889425bb Mon Sep 17 00:00:00 2001 From: Sven-Hendrik Haase Date: Fri, 27 Sep 2019 20:59:22 +0200 Subject: Improve logging behavior It will now fall back to basic logging if no proper terminal is attached as opposed to just failing silently. --- src/main.rs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index a1217d0..65634f3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,7 +3,6 @@ use actix_web::http::{Method, StatusCode}; use actix_web::{fs, middleware, server, App, HttpRequest, HttpResponse}; use structopt::clap::crate_version; -use simplelog::{Config, LevelFilter, TermLogger, TerminalMode}; use std::io::{self, Write}; use std::net::{IpAddr, Ipv4Addr, SocketAddr}; use std::thread; @@ -74,12 +73,21 @@ fn run() -> Result<(), ContextualError> { let sys = actix::System::new("miniserve"); let miniserve_config = args::parse_args(); - let _ = if miniserve_config.verbose { - TermLogger::init(LevelFilter::Info, Config::default(), TerminalMode::default()) + let log_level = if miniserve_config.verbose { + simplelog::LevelFilter::Info } else { - TermLogger::init(LevelFilter::Error, Config::default(), TerminalMode::default()) + simplelog::LevelFilter::Error }; + if let Err(_) = simplelog::TermLogger::init( + log_level, + simplelog::Config::default(), + simplelog::TerminalMode::Mixed, + ) { + simplelog::SimpleLogger::init(log_level, simplelog::Config::default()) + .expect("Couldn't initialize logger") + } + if miniserve_config.no_symlinks { let is_symlink = miniserve_config .path -- cgit v1.2.3