From 8e573c5a7a6747dd3f01c3ed97c88a3c5a57d7ec Mon Sep 17 00:00:00 2001 From: Jokler Date: Wed, 1 Nov 2017 17:15:54 +0100 Subject: Add debug logging The log level gets set to debug or info based on the build profile automatically now. Debug messages also print their target to the console. --- bin/main.rs | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) (limited to 'bin') diff --git a/bin/main.rs b/bin/main.rs index 18f362e..86910c0 100644 --- a/bin/main.rs +++ b/bin/main.rs @@ -8,21 +8,40 @@ struct Logger; impl log::Log for Logger { fn enabled(&self, metadata: &LogMetadata) -> bool { - metadata.level() <= LogLevel::Info + metadata.target().contains("frippy") } fn log(&self, record: &LogRecord) { if self.enabled(record.metadata()) { - println!("[{}]({}) {}", time::now().rfc822(), record.level(), record.args()); + if record.metadata().level() >= LogLevel::Debug { + println!("[{}]({}) {} -> {}", + time::now().rfc822(), + record.level(), + record.target(), + record.args()); + } else { + println!("[{}]({}) {}", + time::now().rfc822(), + record.level(), + record.args()); + } } } } fn main() { + + let log_level = if cfg!(debug_assertions) { + LogLevelFilter::Debug + } else { + LogLevelFilter::Info + }; + log::set_logger(|max_log_level| { - max_log_level.set(LogLevelFilter::Info); - Box::new(Logger) - }).unwrap(); + max_log_level.set(log_level); + Box::new(Logger) + }) + .unwrap(); frippy::run(); } -- cgit v1.2.3-70-g09d2