aboutsummaryrefslogtreecommitdiffstats
path: root/mumlib/src/lib.rs
diff options
context:
space:
mode:
authorEskil Queseth <eskilq@kth.se>2020-10-15 21:21:55 +0200
committerEskil Queseth <eskilq@kth.se>2020-10-15 21:21:55 +0200
commit01b3c75420ec5bf9083dbcf643d3c6087d4f2ce7 (patch)
tree4a6dd760ad39974fc8684fe76400b5dee8967c37 /mumlib/src/lib.rs
parent680c46e6866071ae987d9978316ce2952347fe35 (diff)
parent47d3834a6e5b82e287b975fbf55939c6fd44ca02 (diff)
downloadmum-01b3c75420ec5bf9083dbcf643d3c6087d4f2ce7.tar.gz
Merge remote-tracking branch 'origin/cli' into error-handling
Diffstat (limited to 'mumlib/src/lib.rs')
-rw-r--r--mumlib/src/lib.rs35
1 files changed, 35 insertions, 0 deletions
diff --git a/mumlib/src/lib.rs b/mumlib/src/lib.rs
new file mode 100644
index 0000000..ebf2019
--- /dev/null
+++ b/mumlib/src/lib.rs
@@ -0,0 +1,35 @@
+pub mod command;
+pub mod state;
+
+use colored::*;
+use log::*;
+
+pub fn setup_logger() {
+ fern::Dispatch::new()
+ .format(|out, message, record| {
+ let message = message.to_string();
+ out.finish(format_args!(
+ "{} {}:{}{}{}",
+ //TODO runtime flag that disables color
+ match record.level() {
+ Level::Error => "ERROR".red(),
+ Level::Warn => "WARN ".yellow(),
+ Level::Info => "INFO ".normal(),
+ Level::Debug => "DEBUG".green(),
+ Level::Trace => "TRACE".normal(),
+ },
+ record.file().unwrap(),
+ record.line().unwrap(),
+ if message.chars().any(|e| e == '\n') {
+ "\n"
+ } else {
+ " "
+ },
+ message
+ ))
+ })
+ .level(log::LevelFilter::Debug)
+ .chain(std::io::stderr())
+ .apply()
+ .unwrap();
+}