37 lines
1.5 KiB
Python
37 lines
1.5 KiB
Python
from .Log import Log
|
|
from .LogLevels import basic_levels, Level
|
|
from .console import util
|
|
import inspect
|
|
|
|
|
|
class BaseLogger:
|
|
def __init__(self, name: str = "Generic", do_colors = True):
|
|
self.name = name
|
|
self.do_colors = do_colors
|
|
|
|
def _log(self, log: Log):
|
|
l_pre = f"{log.level.short} [{log.format_time('%Y-%m-%d %H:%M:%S')}] <{log.class_str() or log.file}>"
|
|
l_str = f"{log.format_text()}"
|
|
if self.do_colors:
|
|
print(f"{log.level.color}{l_pre}{util.reset} {l_str}")
|
|
else:
|
|
print(f'{l_pre} {l_str}')
|
|
|
|
def custom(self, level: Level, text: str, *args, _class=None, _file=inspect.stack()[1].filename):
|
|
self._log(Log(level, text, *args, _class=None, _file=inspect.stack()[1].filename))
|
|
|
|
def debug(self, text: str, *args, _class=None):
|
|
self._log(Log(basic_levels['DEBUG'], text, *args, _class=_class, _file=inspect.stack()[1].filename))
|
|
|
|
def info(self, text: str, *args, _class=None):
|
|
self._log(Log(basic_levels['INFO'], text, *args, _class=_class, _file=inspect.stack()[1].filename))
|
|
|
|
def warn(self, text: str, *args, _class=None):
|
|
self._log(Log(basic_levels['WARNING'], text, *args, _class=_class, _file=inspect.stack()[1].filename))
|
|
|
|
def err(self, text: str, *args, _class=None):
|
|
self._log(Log(basic_levels['ERROR'], text, *args, _class=_class, _file=inspect.stack()[1].filename))
|
|
|
|
def fatal(self, text: str, *args, _class=None):
|
|
self._log(Log(basic_levels['FATAL'], text, *args, _class=_class, _file=inspect.stack()[1].filename))
|