From d3e0313ff0b6a12e5f55e996ce3a85eaaa0e69a5 Mon Sep 17 00:00:00 2001 From: Matthieu Baerts Date: Wed, 22 Jul 2026 17:18:49 +0200 Subject: [PATCH 1/2] logger: org: log time at section start and end It seems interesting to log the time when starting and ending a section to know how long an action took Signed-off-by: Matthieu Baerts --- core/logger.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/core/logger.py b/core/logger.py index 166b9645..f4e4f045 100644 --- a/core/logger.py +++ b/core/logger.py @@ -191,7 +191,14 @@ def _escape(self, data): def _sec_start(self, header): self._nl_write() - self._log_file.write("*" * self._level + " " + header + "\n") + self._log_file.write("*" * self._level + " " + header + " - " + + datetime.datetime.now().isoformat() + "\n") + self._nl = True + + def _sec_end(self): + self._nl_write() + self._log_file.write("*" * self._level + " end - " + + datetime.datetime.now().isoformat() + "\n") self._nl = True def _log_data(self, data): From 415a9754cd90e5961aa63d7708dfd7bb4f7317a9 Mon Sep 17 00:00:00 2001 From: Matthieu Baerts Date: Wed, 22 Jul 2026 17:35:47 +0200 Subject: [PATCH 2/2] logger: org: print time delta when ending section It is clearer than having to deal with full time. Signed-off-by: Matthieu Baerts --- core/logger.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/core/logger.py b/core/logger.py index f4e4f045..5d6ba7f9 100644 --- a/core/logger.py +++ b/core/logger.py @@ -174,6 +174,7 @@ class OrgLogger(Logger): def _log_open(self): self._log_file.write('# -*-Org-*-\n') self._nl = True + self._ts = {} def _log_close(self): self._nl_write() @@ -190,15 +191,24 @@ def _escape(self, data): return data.replace("\n*", "\n *") def _sec_start(self, header): + self._ts[self._level] = datetime.datetime.now() self._nl_write() self._log_file.write("*" * self._level + " " + header + " - " + - datetime.datetime.now().isoformat() + "\n") + self._ts[self._level].isoformat() + "\n") self._nl = True def _sec_end(self): + ts = datetime.datetime.now() + if self._level in self._ts: + delta = ts - self._ts[self._level] + sec = " (" + str(delta.total_seconds()) + " sec)" + del self._ts[self._level] + else: + sec = "" + self._nl_write() - self._log_file.write("*" * self._level + " end - " + - datetime.datetime.now().isoformat() + "\n") + self._log_file.write("*" * self._level + " end - " + ts.isoformat() + + + sec + "\n") self._nl = True def _log_data(self, data):