diff options
Diffstat (limited to 'src/engine/SCons/Debug.py')
-rw-r--r-- | src/engine/SCons/Debug.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/engine/SCons/Debug.py b/src/engine/SCons/Debug.py index bf7ed43..0dbb116 100644 --- a/src/engine/SCons/Debug.py +++ b/src/engine/SCons/Debug.py @@ -152,3 +152,26 @@ def func_shorten(func_tuple): f = f[i:] break return (f,)+func_tuple[1:] + + + +TraceFP = {} +TraceDefault = '/dev/tty' + +def Trace(msg, file=None, mode='a'): + """Write a trace a message to a file. Whenever a file is specified, + it becomes the default for the next call to Trace().""" + global TraceDefault + if file is None: + file = TraceDefault + else: + TraceDefault = file + try: + fp = TraceFP[file] + except KeyError: + try: + fp = TraceFP[file] = open(file, mode) + except TypeError: + # Assume we were passed an open file pointer. + fp = file + fp.write(msg) |