Files
Troposphere/DevTools/sll.py
T
2026-08-03 16:16:59 +03:00

129 lines
2.6 KiB
Python

#######################
# Sinmple Logging Lib #
#######################
# DESIGN TAGS:
# L -> Label
# X -> Name/Icon
# - -> White space
# <> -> Mini progress bar
# l -> Log level
class LogDesign():
#RESET
RESET = "\033[0m"
#GREEN
COLOR1= "\033[32m"
#YELLOW
COLOR2 = "\033[33m"
#RED
COLOR3 = "\033[31m"
template = "[L--X---]l"
whitepace = " "
iconChar = "i"
logChar = whitepace
warnChar = "W"
errorChar = "E"
logColor = COLOR1
warnColor = COLOR2
errorColor = COLOR3
DSGN_BLKLIST = ["-","X","<",">","L"]
def match_chars(log_type: str, DesignObject=LogDesign, ShowLogLevel=False, logLevel=0) -> str:
out = ""
for char in DesignObject.template:
match char:
case "L":
match log_type:
case "Log":
out += DesignObject.logChar
case "l":
if ShowLogLevel: out += str(logLevel)
else: out += DesignObject.whitepace
case "-":
out += DesignObject.whitepace
case "X":
out += DesignObject.iconChar
case _:
out += char
return out
def log(logValue,logLevel=1,DesignObject=LogDesign,ShowLogLevel=False):
out = match_chars("Log", DesignObject, ShowLogLevel, logLevel)
out = DesignObject.logColor + out + DesignObject.RESET
print(out , logValue)
def warn(warnValue,warnLevel=1,DesignObject=LogDesign,ShowWarnLevel=False):
out = ""
for char in DesignObject.template:
match char:
case "L":
out += DesignObject.warnChar
case "l":
if ShowWarnLevel:out += str(warnLevel)
else:out += DesignObject.whitepace
case "-":
out += DesignObject.whitepace
case "X":
out += DesignObject.iconChar
case _:
out += char
out = DesignObject.warnColor + out + DesignObject.RESET
print(out , warnValue)
def err(warnValue,DesignObject=LogDesign):
out = ""
for char in DesignObject.template:
match char:
case "L":
out += DesignObject.errorChar
case "l":
out += DesignObject.whitepace
case "-":
out += DesignObject.whitepace
case "X":
out += DesignObject.iconChar
case _:
out += char
out = DesignObject.errorColor + out + DesignObject.RESET
print(out , warnValue)