Skip to content
Snippets Groups Projects
Commit ddb08086 authored by Tamino Huxohl's avatar Tamino Huxohl
Browse files

logging handles creation of multiple loggers with the same name correctly

parent 7981050c
No related branches found
No related tags found
No related merge requests found
......@@ -51,6 +51,10 @@ def rotate_log_file(filename: str):
def get_logger(logfile: Optional[str] = None, loglevel: Optional[str] = None, name: Optional[str] = None):
logger = getLogger() if name is None else getLogger(name)
if logger.hasHandlers():
# logger alrady exists, so refrain from adding more handlers
return logger
if loglevel:
_level = getattr(logging, loglevel)
logger.setLevel(_level)
......@@ -84,14 +88,14 @@ class LogLine:
def parse_line(logline):
_split = logline.strip().split("-")
assert len(_split) >= 3, f"A logged line should consists of a least three elements with the format [TIME - LOGLEVEL - MESSAGE] but got [{logline.strip()}]"
assert len(_split) >= 4, f"A logged line should consists of a least four elements with the format [TIME - LOGLEVEL - MESSAGE] but got [{logline.strip()}]"
time_str = _split[0].strip()
time = datetime.strptime(time_str, date_format)
loglevel = _split[1].strip()
message = "-".join(_split[2:]).strip()
message = "-".join(_split[3:]).strip()
return LogLine(time=time, loglevel=loglevel, message=message)
def parse_file(logfile: str) -> List[LogLine]:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment