tweak logging config

This commit is contained in:
Izalia Mae 2020-06-13 18:59:51 -04:00
parent 3aeea06f55
commit 221beb7670
2 changed files with 21 additions and 7 deletions

View file

@ -8,4 +8,4 @@ import sys
assert sys.version_info >= (3, 6)
__version__ = (0, 2, 0)
__version__ = (0, 3, 1)

View file

@ -43,6 +43,14 @@ class Log():
return value
def _getLevelName(self, level):
for name, num in self.levels.items():
if level == num:
return name
raise error.InvalidLevel(f'Invalid logging level: {level}')
def _parseConfig(self, config):
'''parse the new config and update the old values'''
date = config.get('date', self.config.get('date',True))
@ -54,8 +62,11 @@ class Log():
if not isinstance(systemd, bool):
raise TypeError(f'value for "systemd" is not a boolean: {date}')
level_num = self._lvlCheck(config.get('level', self.config.get('level', 'INFO')))
return {
'level': self._lvlCheck(config.get('level', self.config.get('level', 'INFO'))),
'level': self._getLevelName(level_num),
'levelnum': level_num,
'datefmt': config.get('datefmt', self.config.get('datefmt', '%Y-%m-%d %H:%M:%S')),
'date': date,
'systemd': systemd
@ -67,8 +78,13 @@ class Log():
self.config = self._parseConfig(config)
def getConfig(self):
def getConfig(self, key=None):
'''return the current config'''
if key:
if self.get(key):
return self.get(key)
else:
raise ValueError(f'Invalid config option: {key}')
return self.config
@ -84,11 +100,9 @@ class Log():
levelNum = self._lvlCheck(level)
if type(level) == int:
for k,v in self.levels.items():
if v == levelNum:
level = k
level = _getLevelName(level)
if levelNum < self.config['level']:
if levelNum < self.config['levelnum']:
return
message = ' '.join([str(message) for message in msg])