[MERGED] osmo-gsm-tester[master]: run dir: write detailed log file

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Neels Hofmeyr gerrit-no-reply at lists.osmocom.org
Mon May 8 10:12:25 UTC 2017


Neels Hofmeyr has submitted this change and it was merged.

Change subject: run dir: write detailed log file
......................................................................


run dir: write detailed log file

For each run on a trial, create a log target that logs to a file in the run
dir. Set all levels to DBG in that log target.

Related: OS#2206
Change-Id: Ie7279aeaf32950f85d4145abdc917024003d1d99
---
M src/osmo_gsm_tester/log.py
M src/osmo_gsm_tester/trial.py
2 files changed, 16 insertions(+), 0 deletions(-)

Approvals:
  Pau Espin Pedrol: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/osmo_gsm_tester/log.py b/src/osmo_gsm_tester/log.py
index 10108bc..0da9bd5 100644
--- a/src/osmo_gsm_tester/log.py
+++ b/src/osmo_gsm_tester/log.py
@@ -83,6 +83,9 @@
         self.style()
         LogTarget.all_targets.append(self)
 
+    def remove(self):
+        LogTarget.all_targets.remove(self)
+
     def style(self, time=True, time_fmt=DATEFMT, category=True, level=True, origin=True, origin_width=32, src=True, trace=False):
         '''
         set all logging format aspects, to defaults if not passed:
diff --git a/src/osmo_gsm_tester/trial.py b/src/osmo_gsm_tester/trial.py
index c490105..ae7c587 100644
--- a/src/osmo_gsm_tester/trial.py
+++ b/src/osmo_gsm_tester/trial.py
@@ -28,12 +28,14 @@
 FILE_CHECKSUMS = 'checksums.md5'
 TIMESTAMP_FMT = '%Y-%m-%d_%H-%M-%S'
 FILE_LAST_RUN = 'last_run'
+FILE_LOG = 'log'
 
 class Trial(log.Origin):
     path = None
     dir = None
     _run_dir = None
     bin_tars = None
+    log_targets = None
 
     @staticmethod
     def next(trials_dir):
@@ -60,6 +62,13 @@
         return self.name()
 
     def __enter__(self):
+        # add a log target to log to the run dir
+        run_dir = self.get_run_dir()
+        self.log_targets = [
+            log.FileLogTarget(run_dir.new_child(FILE_LOG))
+              .set_all_levels(log.L_DBG)
+              .style_change(trace=True),
+            ]
         self.log('Trial start')
         self.take()
         super().__enter__()
@@ -68,6 +77,10 @@
         super().__exit__(*exc_info)
         self.log('Trial end')
 
+        for lt in self.log_targets:
+            lt.remove()
+        self.log_targets = None
+
     def take(self):
         self.dir.touch(FILE_MARK_TAKEN)
         return self

-- 
To view, visit https://gerrit.osmocom.org/2510
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ie7279aeaf32950f85d4145abdc917024003d1d99
Gerrit-PatchSet: 2
Gerrit-Project: osmo-gsm-tester
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Pau Espin Pedrol <pespin at sysmocom.de>



More information about the gerrit-log mailing list