From c8d927abb33e78f46bb8bf52fd93aab5823535a1 Mon Sep 17 00:00:00 2001 From: Izalia Mae Date: Sat, 22 May 2021 08:28:53 -0400 Subject: [PATCH] logging: add setLogger, fix getLogger, and add logger name if not default --- IzzyLib/logging.py | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/IzzyLib/logging.py b/IzzyLib/logging.py index cec3fca..53febd5 100644 --- a/IzzyLib/logging.py +++ b/IzzyLib/logging.py @@ -10,7 +10,7 @@ stdout = sys.stdout class Log(): - def __init__(self, config=dict()): + def __init__(self, name=None, config=dict()): '''setup the logger''' if not isinstance(config, dict): raise TypeError(f'config is not a dict') @@ -35,6 +35,7 @@ class Log(): 'MERP': 'MERP' } + self.name = name self.config = {'windows': sys.executable.endswith('pythonw.exe')} self.setConfig(self._parseConfig(config)) @@ -123,13 +124,20 @@ class Log(): levelNum = self._lvlCheck(level) if type(level) == int: - level = _getLevelName(level) + level = self._getLevelName(level) if levelNum < self.config['levelnum']: return message = ' '.join([str(message) for message in msg]) - output = f'{level}: {message}\n' + + if self.name: + output = f'[{self.name}] ' + + else: + output = '' + + output += f'{level}: {message}\n' if self.config['systemnotif']: self.config['systemnotif'].New(level, message) @@ -165,18 +173,21 @@ class Log(): self.log('MERP', *msg) -def getLogger(loginst, config=None): +def getLogger(name): '''get a logging instance and create one if it doesn't exist''' - Logger = logger.get(loginst) + log = logger.get(name) - if not Logger: - if config: - logger[loginst] = Log(config) + if not log: + raise InvalidLogger(f'logger "{name}" doesn\'t exist') - else: - raise InvalidLogger(f'logger "{loginst}" doesn\'t exist') + return log + + +def setLogger(name, config={}): + log = Log(name, config) + logger[name.lower()] = log + return log - return logger[loginst] class InvalidLevel(Exception): '''Raise when an invalid logging level was specified'''