diff options
author | Sven-Hendrik Haase <svenstaro@gmail.com> | 2019-09-27 18:59:22 +0000 |
---|---|---|
committer | Sven-Hendrik Haase <svenstaro@gmail.com> | 2019-09-27 18:59:22 +0000 |
commit | 5d5b9422eef4d912e9b273a6d7f87df5889425bb (patch) | |
tree | 4dbe20e62ca8af13243c6027293777aaf3f14499 /src | |
parent | Add .dockerignore file (diff) | |
download | miniserve-5d5b9422eef4d912e9b273a6d7f87df5889425bb.tar.gz miniserve-5d5b9422eef4d912e9b273a6d7f87df5889425bb.zip |
Improve logging behavior
It will now fall back to basic logging if no proper terminal is attached as opposed to just failing silently.
Diffstat (limited to 'src')
-rw-r--r-- | src/main.rs | 16 |
1 files changed, 12 insertions, 4 deletions
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 |