From ee37dc86abb3257458d5832e4448ded8a0d2b0a7 Mon Sep 17 00:00:00 2001 From: Joe Wilm Date: Mon, 23 Jan 2017 08:45:40 -0800 Subject: Return an error from logging::initialize Logging initialization now shares the same error handling code as the rest of the `run` function. --- src/logging.rs | 4 ++-- src/main.rs | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/logging.rs b/src/logging.rs index 1e6b1e42..f5340d05 100644 --- a/src/logging.rs +++ b/src/logging.rs @@ -53,9 +53,9 @@ impl log::Log for Logger { } } -pub fn initialize(options: &cli::Options) { +pub fn initialize(options: &cli::Options) -> Result<(), log::SetLoggerError> { log::set_logger(|max_log_level| { max_log_level.set(options.log_level); Box::new(Logger::new(io::stdout(), options.log_level)) - }).unwrap_or_else(|e| die!("{}", e)); + }) } diff --git a/src/main.rs b/src/main.rs index 265a9ee8..dd511cce 100644 --- a/src/main.rs +++ b/src/main.rs @@ -60,9 +60,6 @@ fn main() { // Load command line options let options = cli::Options::load(); - // Initialize the logger before entering alacritty main loop - logging::initialize(&options); - // Run alacritty if let Err(err) = run(config, options) { die!("Alacritty encountered an unrecoverable error:\n\n\t{}\n", Red(err)); @@ -77,6 +74,9 @@ fn main() { /// Creates a window, the terminal state, pty, I/O event loop, input processor, /// config change monitor, and runs the main display loop. fn run(mut config: Config, options: cli::Options) -> Result<(), Box> { + // Initialize the logger first as to capture output from other subsystems + logging::initialize(&options)?; + info!("Welcome to Alacritty."); // Create a display. -- cgit