logging: add setLogger, fix getLogger, and add logger name if not default
This commit is contained in:
parent
5cd4eff2b0
commit
c8d927abb3
|
@ -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'''
|
||||
|
|
Loading…
Reference in a new issue