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>