diff --git a/src/textual/__init__.py b/src/textual/__init__.py index 6d339cc20..b863208ee 100644 --- a/src/textual/__init__.py +++ b/src/textual/__init__.py @@ -54,7 +54,10 @@ class Logger: raise LoggerError("Unable to log without an active app.") from None if not app.devtools.is_connected: return - caller = inspect.stack(0)[1] + + previous_frame = inspect.currentframe().f_back + caller = inspect.getframeinfo(previous_frame) + _log = self._log or app._log try: _log( diff --git a/src/textual/devtools/redirect_output.py b/src/textual/devtools/redirect_output.py index e10b57f7b..46a830ab0 100644 --- a/src/textual/devtools/redirect_output.py +++ b/src/textual/devtools/redirect_output.py @@ -39,7 +39,9 @@ class StdoutRedirector: if not self.devtools.is_connected: return - caller = inspect.stack(0)[1] + previous_frame = inspect.currentframe().f_back + caller = inspect.getframeinfo(previous_frame) + self._buffer.append(DevtoolsLog(string, caller=caller)) # By default, `print` adds a "\n" suffix which results in a buffer