From 1bb1cefdc5c2053822ce33a580b3fda51098658f Mon Sep 17 00:00:00 2001 From: lukas leufen <l.leufen@fz-juelich.de> Date: Wed, 18 Mar 2020 13:26:37 +0100 Subject: [PATCH] moved logger to run environment --- src/helpers.py | 4 ++-- src/run_modules/run_environment.py | 10 ++++++++++ test/test_modules/test_pre_processing.py | 1 + 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/helpers.py b/src/helpers.py index 12ec837b..6e9d47d1 100644 --- a/src/helpers.py +++ b/src/helpers.py @@ -234,11 +234,11 @@ class Logger: self.formatter = '%(asctime)s - %(levelname)s: %(message)s [%(filename)s:%(funcName)s:%(lineno)s]' # set log path - log_file = self.setup_logging_path(log_path) + self.log_file = self.setup_logging_path(log_path) # set root logger as file handler logging.basicConfig(level=level_file, format=self.formatter, - filename=log_file, + filename=self.log_file, filemode='a') # add stream handler to the root logger logging.getLogger('').addHandler(self.logger_console(level_stream)) diff --git a/src/run_modules/run_environment.py b/src/run_modules/run_environment.py index 56c01729..1c44786d 100644 --- a/src/run_modules/run_environment.py +++ b/src/run_modules/run_environment.py @@ -2,9 +2,13 @@ __author__ = "Lukas Leufen" __date__ = '2019-11-25' import logging +import os +import shutil import time +from src.helpers import Logger from src.datastore import DataStoreByScope as DataStoreObject +from src.datastore import NameNotFoundInDataStore from src.helpers import TimeTracking @@ -16,6 +20,7 @@ class RunEnvironment(object): del_by_exit = False data_store = DataStoreObject() + logger = Logger() def __init__(self): """ @@ -34,6 +39,11 @@ class RunEnvironment(object): logging.info(f"{self.__class__.__name__} finished after {self.time}") self.del_by_exit = True if self.__class__.__name__ == "RunEnvironment": + try: + new_file = os.path.join(self.data_store.get("experiment_path", "general"), "logging.log") + shutil.copyfile(self.logger.log_file, new_file) + except (NameNotFoundInDataStore, FileNotFoundError): + pass self.data_store.clear_data_store() def __enter__(self): diff --git a/test/test_modules/test_pre_processing.py b/test/test_modules/test_pre_processing.py index 36374101..425ddecc 100644 --- a/test/test_modules/test_pre_processing.py +++ b/test/test_modules/test_pre_processing.py @@ -36,6 +36,7 @@ class TestPreProcessing: def test_init(self, caplog): ExperimentSetup(parser_args={}, stations=['DEBW107', 'DEBY081', 'DEBW013', 'DEBW076', 'DEBW087'], statistics_per_var={'o3': 'dma8eu', 'temp': 'maximum'}) + caplog.clear() caplog.set_level(logging.INFO) with PreProcessing(): assert caplog.record_tuples[0] == ('root', 20, 'PreProcessing started') -- GitLab