summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJoe Wilm <joe@jwilm.com>2017-01-23 08:45:40 -0800
committerJoe Wilm <jwilm@users.noreply.github.com>2017-01-23 09:14:01 -0800
commitee37dc86abb3257458d5832e4448ded8a0d2b0a7 (patch)
treead354108ed76895790ff202a7037925bd32f0b7a /src
parentabd3958cb54925935b7013555ac58ae65896f7ed (diff)
Return an error from logging::initialize
Logging initialization now shares the same error handling code as the rest of the `run` function.
Diffstat (limited to 'src')
-rw-r--r--src/logging.rs4
-rw-r--r--src/main.rs6
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<T: Send + io::Write> log::Log for Logger<T> {
}
}
-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<Error>> {
+ // Initialize the logger first as to capture output from other subsystems
+ logging::initialize(&options)?;
+
info!("Welcome to Alacritty.");
// Create a display.