summaryrefslogtreecommitdiffstats
path: root/source-builder/sb/log.py
diff options
context:
space:
mode:
Diffstat (limited to 'source-builder/sb/log.py')
-rwxr-xr-xsource-builder/sb/log.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/source-builder/sb/log.py b/source-builder/sb/log.py
index 301bd96..7ad4763 100755
--- a/source-builder/sb/log.py
+++ b/source-builder/sb/log.py
@@ -1,6 +1,6 @@
#
# RTEMS Tools Project (http://www.rtems.org/)
-# Copyright 2010-2012 Chris Johns (chrisj@rtems.org)
+# Copyright 2010-2017 Chris Johns (chrisj@rtems.org)
# All rights reserved.
#
# This file is part of the RTEMS Tools package in 'rtems-testing'.
@@ -26,7 +26,7 @@ from __future__ import print_function
import os
import sys
-import error
+from . import error
#
# A global log.
@@ -34,6 +34,11 @@ import error
default = None
#
+# A global capture handler.
+#
+capture = None
+
+#
# Global parameters.
#
tracing = False
@@ -70,6 +75,8 @@ def stderr(text = os.linesep, log = None):
for l in text.replace(chr(13), '').splitlines():
print(l, file = sys.stderr)
sys.stderr.flush()
+ if capture is not None:
+ capture(text)
def output(text = os.linesep, log = None):
if not quiet:
@@ -80,10 +87,12 @@ def notice(text = os.linesep, log = None):
for l in text.replace(chr(13), '').splitlines():
print(l)
sys.stdout.flush()
+ if capture is not None:
+ capture(text)
_output(text, log)
def trace(text = os.linesep, log = None):
- if tracing:
+ if not quiet and tracing:
_output(text, log)
def warning(text = os.linesep, log = None):
@@ -105,7 +114,7 @@ def tail(log = None):
class log:
"""Log output to stdout or a file."""
- def __init__(self, streams = None, tail_size = 200):
+ def __init__(self, streams = None, tail_size = 400):
self.tail = []
self.tail_size = tail_size
self.fhs = [None, None]