From 7891c281e1ee33218bd5926d068fee8db739c419 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Tue, 12 Apr 2022 09:01:33 +0200 Subject: [PATCH] fix error in secop.logging Implement LogfileHandler.getChild. This is needed to inherit the configured level from the parent handler. + remove redundant assignmet of logfile_handler.max_days Change-Id: I7277c28221bbb6108d75f2437634e9db9bf6761e Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28140 Tested-by: Jenkins Automated Tests Reviewed-by: Enrico Faulhaber Reviewed-by: Markus Zolliker --- secop/logging.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/secop/logging.py b/secop/logging.py index cd8cf41..04ab122 100644 --- a/secop/logging.py +++ b/secop/logging.py @@ -86,7 +86,6 @@ class RemoteLogHandler(mlzlog.Handler): class LogfileHandler(mlzlog.LogfileHandler): def __init__(self, logdir, rootname, max_days=0): - self.logdir = logdir self.rootname = rootname self.max_days = max_days super().__init__(logdir, rootname) @@ -95,6 +94,11 @@ class LogfileHandler(mlzlog.LogfileHandler): if record.levelno != COMLOG: super().emit(record) + def getChild(self, name): + child = type(self)(dirname(self.baseFilename), name, self.max_days) + child.setLevel(self.level) + return child + def doRollover(self): super().doRollover() if self.max_days: @@ -157,8 +161,6 @@ class MainLogger: if self.logdir: logfile_days = generalConfig.getint('logfile_days') logfile_handler = LogfileHandler(self.logdir, self.rootname, max_days=logfile_days) - if generalConfig.logfile_days: - logfile_handler.max_days = int(generalConfig.logfile_days) logfile_handler.setLevel(LOG_LEVELS[generalConfig.get('logfile_level', 'info')]) self.log.addHandler(logfile_handler)