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.orgNeels Hofmeyr has submitted this change and it was merged.
Change subject: log.py: add FileLogTarget
......................................................................
log.py: add FileLogTarget
Will be used in a subsequent commit.
Change-Id: Id3dfdeea236eb8ade5e6c80e64d5c3ce4de96b81
---
M src/osmo_gsm_tester/log.py
1 file changed, 25 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 d3f2ea0..973fc1a 100644
--- a/src/osmo_gsm_tester/log.py
+++ b/src/osmo_gsm_tester/log.py
@@ -22,6 +22,7 @@
import time
import traceback
import contextlib
+import atexit
from inspect import getframeinfo, stack
from .util import is_dict
@@ -508,6 +509,30 @@
super().__init__(log_write_func)
self.style(time=False, src=False)
+class FileLogTarget(LogTarget):
+ 'LogTarget to log to a file system path'
+ log_file = None
+
+ def __init__(self, log_path):
+ atexit.register(self.at_exit)
+ self.path = log_path
+ self.log_file = open(log_path, 'a')
+ super().__init__(self.write_to_log_and_flush)
+
+ def remove(self):
+ super().remove()
+ self.log_file.close()
+ self.log_file = None
+
+ def write_to_log_and_flush(self, msg):
+ self.log_file.write(msg)
+ self.log_file.flush()
+
+ def at_exit(self):
+ if self.log_file is not None:
+ self.log_file.flush()
+ self.log_file.close()
+
def run_logging_exceptions(func, *func_args, return_on_failure=None, **func_kwargs):
try:
return func(*func_args, **func_kwargs)
--
To view, visit https://gerrit.osmocom.org/2508
To unsubscribe, visit https://gerrit.osmocom.org/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Id3dfdeea236eb8ade5e6c80e64d5c3ce4de96b81
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>