aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/_pyrepl/trace.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/_pyrepl/trace.py')
-rw-r--r--Lib/_pyrepl/trace.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/Lib/_pyrepl/trace.py b/Lib/_pyrepl/trace.py
new file mode 100644
index 00000000000..a8eb2433cd3
--- /dev/null
+++ b/Lib/_pyrepl/trace.py
@@ -0,0 +1,21 @@
+from __future__ import annotations
+
+import os
+
+# types
+if False:
+ from typing import IO
+
+
+trace_file: IO[str] | None = None
+if trace_filename := os.environ.get("PYREPL_TRACE"):
+ trace_file = open(trace_filename, "a")
+
+
+def trace(line: str, *k: object, **kw: object) -> None:
+ if trace_file is None:
+ return
+ if k or kw:
+ line = line.format(*k, **kw)
+ trace_file.write(line + "\n")
+ trace_file.flush()