From 0abc01cfb65fc0246be790604074569b4bd2d8c2 Mon Sep 17 00:00:00 2001 From: su530201 <olivier.kaufmann@umons.ac.be> Date: Sat, 8 Apr 2023 16:14:31 +0200 Subject: [PATCH] Adds a function to create default loggers --- hardware/hardware.py | 32 +++++--------------------------- logging_setup.py | 11 +++++++++++ measure.py | 40 ++++------------------------------------ 3 files changed, 20 insertions(+), 63 deletions(-) diff --git a/hardware/hardware.py b/hardware/hardware.py index 5460405c..5845d265 100644 --- a/hardware/hardware.py +++ b/hardware/hardware.py @@ -1,8 +1,6 @@ from abc import ABC import os -import sys -from time import gmtime -import logging +from ..logging_setup import create_default_logger class ControllerAbstract(ABC): def __init__(self, **kwargs): @@ -15,28 +13,8 @@ class TxAbstract(ABC): def __init__(self, **kwargs): polarity = kwargs.pop('polarity', 1) inj_time = kwargs.pop('inj_time', 1.) - self.exec_logger = kwargs.pop('exec_logger', None) - self.soh_logger = kwargs.pop('soh_logger', None) - if self.exec_logger is None: - self.exec_logger = logging.getLogger('exec_logger') - log_format = '%(asctime)-15s | exec | %(levelname)s: %(message)s' - exec_formatter = logging.Formatter(log_format) - exec_formatter.converter = gmtime - exec_formatter.datefmt = '%Y-%m-%d %H:%M:%S UTC' - exec_handler = logging.StreamHandler(sys.stdout) - exec_handler.setFormatter(exec_formatter) - self.exec_logger.addHandler(exec_handler) - self.exec_logger.setLevel('debug') - if self.soh_logger is None: - self.soh_logger = logging.getLogger('soh_logger') - log_format = '%(asctime)-15s | soh | %(levelname)s: %(message)s' - soh_formatter = logging.Formatter(log_format) - soh_formatter.converter = gmtime - soh_formatter.datefmt = '%Y-%m-%d %H:%M:%S UTC' - soh_handler = logging.StreamHandler(sys.stdout) - soh_handler.setFormatter(soh_formatter) - self.soh_logger.addHandler(soh_handler) - self.soh_logger.setLevel('debug') + self.exec_logger = kwargs.pop('exec_logger', create_default_logger('exec')) + self.soh_logger = kwargs.pop('soh_logger', create_default_logger('soh')) self._polarity = None self._inj_time = None self._dps_state = 'off' @@ -115,8 +93,8 @@ class TxAbstract(ABC): class RxAbstract(ABC): def __init__(self, **kwargs): - self.exec_logger = kwargs.pop('exec_logger', None) - self.soh_logger = kwargs.pop('soh_logger', None) + self.exec_logger = kwargs.pop('exec_logger', create_default_logger('exec')) + self.soh_logger = kwargs.pop('soh_logger', create_default_logger('soh')) self.board_name = os.path.basename(__file__) self.exec_logger.debug(f'RX {self.board_name} initialization') diff --git a/logging_setup.py b/logging_setup.py index 5c2543b2..8178dd5a 100644 --- a/logging_setup.py +++ b/logging_setup.py @@ -8,6 +8,17 @@ from compressed_sized_timed_rotating_handler import CompressedSizedTimedRotating import sys from termcolor import colored +def create_default_logger(name): + logger = logging.getLogger(f'{name}_logger') + log_format = f'%(asctime)-15s | {name} | %(levelname)s: %(message)s' + formatter = logging.Formatter(log_format) + formatter.converter = gmtime + formatter.datefmt = '%Y-%m-%d %H:%M:%S UTC' + handler = logging.StreamHandler(sys.stdout) + handler.setFormatter(formatter) + logger.addHandler(handler) + logger.setLevel('debug') + return logger def setup_loggers(mqtt=True): msg = '' diff --git a/measure.py b/measure.py index d691c2f3..2491eddb 100644 --- a/measure.py +++ b/measure.py @@ -1,8 +1,6 @@ import importlib -from time import gmtime import numpy as np -import sys -import logging +from logging_setup import create_default_logger from config import OHMPI_CONFIG controller_module = importlib.import_module(f'{OHMPI_CONFIG["hardware"]["controller"]["model"]}') tx_module = importlib.import_module(f'{OHMPI_CONFIG["hardware"]["tx"]["model"]}') @@ -18,39 +16,9 @@ voltage_min = RX_CONFIG['voltage_min'] class OhmPiHardware: def __init__(self, **kwargs): - self.exec_logger = kwargs.pop('exec_logger', None) - self.data_logger = kwargs.pop('exec_logger', None) - self.soh_logger = kwargs.pop('soh_logger', None) - if self.exec_logger is None: - self.exec_logger = logging.getLogger('exec_logger') - log_format = '%(asctime)-15s | exec | %(levelname)s: %(message)s' - exec_formatter = logging.Formatter(log_format) - exec_formatter.converter = gmtime - exec_formatter.datefmt = '%Y-%m-%d %H:%M:%S UTC' - exec_handler = logging.StreamHandler(sys.stdout) - exec_handler.setFormatter(exec_formatter) - self.exec_logger.addHandler(exec_handler) - self.exec_logger.setLevel('debug') - if self.data_logger is None: - self.data_logger = logging.getLogger('data_logger') - log_format = '%(asctime)-15s | data | %(levelname)s: %(message)s' - data_formatter = logging.Formatter(log_format) - data_formatter.converter = gmtime - data_formatter.datefmt = '%Y-%m-%d %H:%M:%S UTC' - data_handler = logging.StreamHandler(sys.stdout) - data_handler.setFormatter(data_formatter) - self.data_logger.addHandler(data_handler) - self.data_logger.setLevel('debug') - if self.soh_logger is None: - self.soh_logger = logging.getLogger('soh_logger') - log_format = '%(asctime)-15s | soh | %(levelname)s: %(message)s' - soh_formatter = logging.Formatter(log_format) - soh_formatter.converter = gmtime - soh_formatter.datefmt = '%Y-%m-%d %H:%M:%S UTC' - soh_handler = logging.StreamHandler(sys.stdout) - soh_handler.setFormatter(soh_formatter) - self.soh_logger.addHandler(soh_handler) - self.soh_logger.setLevel('debug') + self.exec_logger = kwargs.pop('exec_logger', create_default_logger('exec')) + self.data_logger = kwargs.pop('exec_logger', create_default_logger('data')) + self.soh_logger = kwargs.pop('soh_logger', create_default_logger('soh')) self.controller = kwargs.pop('controller', controller_module.Controller({'exec_logger' : self.exec_logger, 'data_logger': self.data_logger, -- GitLab