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():
|
class Log():
|
||||||
def __init__(self, config=dict()):
|
def __init__(self, name=None, config=dict()):
|
||||||
'''setup the logger'''
|
'''setup the logger'''
|
||||||
if not isinstance(config, dict):
|
if not isinstance(config, dict):
|
||||||
raise TypeError(f'config is not a dict')
|
raise TypeError(f'config is not a dict')
|
||||||
|
@ -35,6 +35,7 @@ class Log():
|
||||||
'MERP': 'MERP'
|
'MERP': 'MERP'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
self.name = name
|
||||||
self.config = {'windows': sys.executable.endswith('pythonw.exe')}
|
self.config = {'windows': sys.executable.endswith('pythonw.exe')}
|
||||||
self.setConfig(self._parseConfig(config))
|
self.setConfig(self._parseConfig(config))
|
||||||
|
|
||||||
|
@ -123,13 +124,20 @@ class Log():
|
||||||
levelNum = self._lvlCheck(level)
|
levelNum = self._lvlCheck(level)
|
||||||
|
|
||||||
if type(level) == int:
|
if type(level) == int:
|
||||||
level = _getLevelName(level)
|
level = self._getLevelName(level)
|
||||||
|
|
||||||
if levelNum < self.config['levelnum']:
|
if levelNum < self.config['levelnum']:
|
||||||
return
|
return
|
||||||
|
|
||||||
message = ' '.join([str(message) for message in msg])
|
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']:
|
if self.config['systemnotif']:
|
||||||
self.config['systemnotif'].New(level, message)
|
self.config['systemnotif'].New(level, message)
|
||||||
|
@ -165,18 +173,21 @@ class Log():
|
||||||
self.log('MERP', *msg)
|
self.log('MERP', *msg)
|
||||||
|
|
||||||
|
|
||||||
def getLogger(loginst, config=None):
|
def getLogger(name):
|
||||||
'''get a logging instance and create one if it doesn't exist'''
|
'''get a logging instance and create one if it doesn't exist'''
|
||||||
Logger = logger.get(loginst)
|
log = logger.get(name)
|
||||||
|
|
||||||
if not Logger:
|
if not log:
|
||||||
if config:
|
raise InvalidLogger(f'logger "{name}" doesn\'t exist')
|
||||||
logger[loginst] = Log(config)
|
|
||||||
|
|
||||||
else:
|
return log
|
||||||
raise InvalidLogger(f'logger "{loginst}" doesn\'t exist')
|
|
||||||
|
|
||||||
|
def setLogger(name, config={}):
|
||||||
|
log = Log(name, config)
|
||||||
|
logger[name.lower()] = log
|
||||||
|
return log
|
||||||
|
|
||||||
return logger[loginst]
|
|
||||||
|
|
||||||
class InvalidLevel(Exception):
|
class InvalidLevel(Exception):
|
||||||
'''Raise when an invalid logging level was specified'''
|
'''Raise when an invalid logging level was specified'''
|
||||||
|
|
Loading…
Reference in a new issue