From 7fdd8a5998dcf7a2182e32e50ff55320667ebaa0 Mon Sep 17 00:00:00 2001 From: NullBite Date: Sun, 2 Jul 2023 02:04:22 -0400 Subject: [PATCH] logging: store level as number and allow abbrev --- logging.lua | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/logging.lua b/logging.lua index 24b41a5..b083a63 100644 --- a/logging.lua +++ b/logging.lua @@ -9,15 +9,25 @@ local loglevels={ ["TRACE"]=6 } local loglevels_index={} +local loglevels_abbrev={} for k, v in pairs(loglevels) do loglevels_index[v]=k + loglevels_abbrev[k:sub(1,1)]=v end --- default log level -local loglevel="INFO" +local loglevel +---@deprecated use loglevel int +local loglevel_str="INFO" + + +---@param level string|integer function logging.set(level) - loglevel=loglevels[level] and level or loglevel + -- +---we can do this + -- | becasue each one has + -- v a unique letter + loglevel=loglevels[level] or loglevels_abbrev[tostring(level):sub(1,1):upper()] or + ((level >=0 and level <=6) and level) or loglevel end ---deprecated wrapper for logging.set, it is intentionally a wrapper instead of @@ -27,10 +37,11 @@ function logging.setLogLevel(level) return logging.set(level) end +-- default log level logging.set("INFO") local function printLog(severity, ...) - if (loglevels[loglevel]) >= severity then + if (loglevel) >= severity then log("[" .. loglevels_index[severity] .. "] ", ...) end end