diff options
Diffstat (limited to 'apps/koffice/libko/src/log_util.rs')
-rw-r--r-- | apps/koffice/libko/src/log_util.rs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/apps/koffice/libko/src/log_util.rs b/apps/koffice/libko/src/log_util.rs new file mode 100644 index 000000000000..b87dbe83df41 --- /dev/null +++ b/apps/koffice/libko/src/log_util.rs @@ -0,0 +1,36 @@ +#[macro_export] +macro_rules! fatal { + () => { + error!("Unknown failure!"); + std::process::exit(2) + }; + ($($arg:tt)*) => ({ + error!($($arg)*); + std::process::exit(2) + }) +} + +use colored::*; +use env_logger::Builder; +use log::Level; +use std::io::Write; + +pub fn initialise() { + let mut b = Builder::from_default_env(); + b.format(|buf, record| { + let lvl = record.level().to_string(); + write!( + buf, + "[{}]: {}\n", + match record.level() { + Level::Error => lvl.red(), + Level::Warn => lvl.yellow(), + Level::Info => lvl.green(), + Level::Debug => lvl.purple(), + Level::Trace => lvl.cyan(), + }, + record.args() + ) + }) + .init(); +} |