aboutsummaryrefslogtreecommitdiff
path: root/apps/koffice/libko/src/log_util.rs
diff options
context:
space:
mode:
Diffstat (limited to 'apps/koffice/libko/src/log_util.rs')
-rw-r--r--apps/koffice/libko/src/log_util.rs36
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();
+}