home · contact · privacy
Don't write TUI-internal chatter to log files
authorChristian Heller <c.heller@plomlompom.de>
Sun, 16 Nov 2025 09:54:33 +0000 (10:54 +0100)
committerChristian Heller <c.heller@plomlompom.de>
Sun, 16 Nov 2025 09:54:33 +0000 (10:54 +0100)
src/ircplom/client_tui.py
src/ircplom/tui_base.py

index 908f5307bb3cf5f0ba91aa0e235f3f8b57ca7499..2a473377679ac2d819c053544c070e45b17cc38a 100644 (file)
@@ -13,7 +13,7 @@ from ircplom.db_primitives import AutoAttrMixin, Dict, DictItem
 from ircplom.irc_conn import IrcMessage
 from ircplom.tui_base import (
         BaseTui, FormattingString, PromptWidget, TuiEvent, Window,
-        CMD_SHORTCUTS, LOG_FMT_ATTRS, LOG_FMT_TAG_ALERT)
+        CMD_SHORTCUTS, LOG_FMT_ATTRS, LOG_FMT_TAG_ALERT, LOG_PREFIX_DEFAULT)
 
 CMD_SHORTCUTS['disconnect'] = 'window.disconnect'
 CMD_SHORTCUTS['join'] = 'window.join'
@@ -62,8 +62,9 @@ class _ClientWindow(Window, ClientQueueMixin):
 
     def log(self, msg: FormattingString) -> None:
         super().log(msg)
-        if self._path_logs is None:
-            return
+        if self._path_logs is None\
+                or msg.stripped().startswith(LOG_PREFIX_DEFAULT):  # ignore TUI
+            return                                                 # chatter
 
         def escaped(word: str) -> str:
             ret = ''
index 68decea763053df70406e42f807463e7c2234f26..8a9f6e5fae7644855cb29cdf162dc9dc63553c8b 100644 (file)
@@ -13,12 +13,12 @@ from blessed import Terminal as BlessedTerminal
 # ourselves
 from ircplom.events import AffectiveEvent, Loop, QueueMixin, QuitEvent
 
-_LOG_PREFIX_DEFAULT = '#'
+LOG_PREFIX_DEFAULT = '#'
 LOG_FMT_SEP = ' '
 LOG_FMT_TAG_ALERT = 'alert'
 LOG_FMT_ATTRS: dict[str, tuple[str, ...]] = {
     LOG_FMT_TAG_ALERT: ('bold', 'bright_red'),
-    _LOG_PREFIX_DEFAULT: ('bright_cyan',),
+    LOG_PREFIX_DEFAULT: ('bright_cyan',),
 }
 _WRAP_INDENT = 2
 
@@ -685,7 +685,7 @@ class BaseTui(QueueMixin):
         if isinstance(msg, str):
             msg = FormattingString(msg)
         if prefix_char is None:
-            prefix_char = _LOG_PREFIX_DEFAULT
+            prefix_char = LOG_PREFIX_DEFAULT
         now = str(datetime.now())
         today, time = now[:10], now[11:19]
         msg = FormattingString(f'{prefix_char}{LOG_FMT_SEP}{time} ') + msg