From be8ccbee2b2efd12f354de774df2a2d0b7c9f88d Mon Sep 17 00:00:00 2001 From: "Tristan B. Velloza Kildaire" Date: Sun, 12 May 2024 17:57:24 +0200 Subject: [PATCH] birchwood.logging - Added logging facilities --- source/birchwood/logging.d | 56 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 source/birchwood/logging.d diff --git a/source/birchwood/logging.d b/source/birchwood/logging.d new file mode 100644 index 0000000..ba251e0 --- /dev/null +++ b/source/birchwood/logging.d @@ -0,0 +1,56 @@ +/** + * Internal logging facilities + */ +module birchwood.logging; + +import gogga; +import gogga.extras; +import dlog.basic : Level, FileHandler; +import std.stdio : stdout; + +/** + * Globally available logger + */ +package __gshared GoggaLogger logger; + +/** + * Initializes a logger instance + * globally + */ +__gshared static this() +{ + logger = new GoggaLogger(); + + GoggaMode mode; + + // TODO: Add flag support + version(DBG_VERBOSE_LOGGING) + { + mode = GoggaMode.RUSTACEAN; + } + else + { + mode = GoggaMode.SIMPLE; + } + + logger.mode(mode); + + Level level = Level.DEBUG; + + // TODO: Add flag support + // version(DBG_DEBUG_LOGGING) + // { + // level = Level.DEBUG; + // } + // else + // { + // level = Level.INFO; + // } + + + logger.setLevel(level); + logger.addHandler(new FileHandler(stdout)); +} + +// Bring in helper methods +mixin LoggingFuncs!(logger); \ No newline at end of file