diff --git a/src/helpers.py b/src/helpers.py
index 12ec837bfcc14753fb7a90ac34f4499f47cb485d..6e9d47d1040aa803358cb60439197fd48641e9e1 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 56c017290eea4d11881b9b131378d8c5995f0b29..1c44786dfd4830c8053ae1673eac1473fbd19338 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 3637410126362471120df9e5be334190634a3bca..425ddecc135db75a3f2f624ed150e8dd8f566bdc 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')