diff options
Diffstat (limited to 'game_server/src/game_logger.rs')
-rw-r--r-- | game_server/src/game_logger.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/game_server/src/game_logger.rs b/game_server/src/game_logger.rs new file mode 100644 index 0000000..e49ebe8 --- /dev/null +++ b/game_server/src/game_logger.rs @@ -0,0 +1,29 @@ +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) + .chain(std::io::stdout()) + .apply().unwrap(); +} |