aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorSven-Hendrik Haase <svenstaro@gmail.com>2019-09-27 18:59:22 +0000
committerSven-Hendrik Haase <svenstaro@gmail.com>2019-09-27 18:59:22 +0000
commit5d5b9422eef4d912e9b273a6d7f87df5889425bb (patch)
tree4dbe20e62ca8af13243c6027293777aaf3f14499 /src/main.rs
parentAdd .dockerignore file (diff)
downloadminiserve-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 '')
-rw-r--r--src/main.rs16
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