aboutsummaryrefslogtreecommitdiff
path: root/games/rstnode/rst-server/src/log.rs
diff options
context:
space:
mode:
Diffstat (limited to 'games/rstnode/rst-server/src/log.rs')
-rw-r--r--games/rstnode/rst-server/src/log.rs39
1 files changed, 39 insertions, 0 deletions
diff --git a/games/rstnode/rst-server/src/log.rs b/games/rstnode/rst-server/src/log.rs
new file mode 100644
index 000000000000..62d03167bb7a
--- /dev/null
+++ b/games/rstnode/rst-server/src/log.rs
@@ -0,0 +1,39 @@
+//! Logging specifics
+
+const BANNER: &'static str = "
+██████╗ ███████╗████████╗ ███╗ ██╗ ██████╗ ██████╗ ███████╗
+██╔══██╗██╔════╝╚══██╔══╝ ████╗ ██║██╔═══██╗██╔══██╗██╔════╝
+██████╔╝███████╗ ██║ ██╔██╗ ██║██║ ██║██║ ██║█████╗
+██╔══██╗╚════██║ ██║ ██║╚██╗██║██║ ██║██║ ██║██╔══╝
+██║ ██║███████║ ██║ ██║ ╚████║╚██████╔╝██████╔╝███████╗
+╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚══════╝";
+
+use tracing_subscriber::{filter::LevelFilter, fmt, EnvFilter};
+
+pub(crate) fn initialise() {
+ let filter = EnvFilter::try_from_env("RST_LOG")
+ .unwrap_or_default()
+ .add_directive(LevelFilter::DEBUG.into())
+ .add_directive("async_std=error".parse().unwrap())
+ .add_directive("mio=error".parse().unwrap());
+
+ // Initialise the logger
+ fmt().with_env_filter(filter).init();
+ info!("Initialising server...");
+ info!("{}", BANNER);
+ info!("Available cores: unknown");
+ info!("Available RAM: unknown");
+ info!("Version: {}", crate::constants::VERSION);
+}
+
+#[macro_export]
+macro_rules! fatal {
+ () => {
+ error!("Unknown failure!");
+ std::process::exit(2)
+ };
+ ($($arg:tt)*) => ({
+ error!($($arg)*);
+ std::process::exit(2)
+ })
+}