summaryrefslogtreecommitdiff
path: root/webhogg/game_server/src/game_logger.rs
diff options
context:
space:
mode:
Diffstat (limited to 'webhogg/game_server/src/game_logger.rs')
-rw-r--r--webhogg/game_server/src/game_logger.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/webhogg/game_server/src/game_logger.rs b/webhogg/game_server/src/game_logger.rs
new file mode 100644
index 0000000..c51bfc5
--- /dev/null
+++ b/webhogg/game_server/src/game_logger.rs
@@ -0,0 +1,30 @@
+use colored::*;
+
+fn color_level(level: log::Level) -> colored::ColoredString {
+ let text = format!("{: <8}", level);
+ match level {
+ log::Level::Error => text.red().bold(),
+ log::Level::Warn => text.yellow(),
+ log::Level::Info => text.green(),
+ log::Level::Debug => text.cyan(),
+ log::Level::Trace => text.magenta(),
+ }
+}
+
+pub fn init_logger() {
+ fern::Dispatch::new().format(|out, message, record|{
+ out.finish(format_args!(
+ "{} {} > {}",
+ color_level(record.level()),
+ record.target(),
+ message
+ )
+ )
+ })
+ .level(log::LevelFilter::Debug)
+ .level_for("hyper", log::LevelFilter::Off)
+ .level_for("tokio_reactor", log::LevelFilter::Off)
+ .level_for("reqwest", log::LevelFilter::Off)
+ .chain(std::io::stdout())
+ .apply().unwrap();
+}