bitbake: tinfoil: support other fds, enable color support

Rather than only handling sys.stdout, also support any arbitrary file object,
and enable color for the formatter if that file is a tty.

(Bitbake rev: c46db4be4cc4dc53376ed3f574b2f1c868730f2a)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Christopher Larson 2013-01-25 17:56:30 -07:00 committed by Richard Purdie
parent 5deae14080
commit 785e1ba012
1 changed files with 5 additions and 3 deletions

View File

@ -29,15 +29,17 @@ from bb.cooker import state
import bb.fetch2
class Tinfoil:
def __init__(self):
def __init__(self, output=sys.stdout):
# Needed to avoid deprecation warnings with python 2.6
warnings.filterwarnings("ignore", category=DeprecationWarning)
# Set up logging
self.logger = logging.getLogger('BitBake')
console = logging.StreamHandler(sys.stdout)
format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
console = logging.StreamHandler(output)
bb.msg.addDefaultlogFilter(console)
format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
if output.isatty():
format.enable_color()
console.setFormatter(format)
self.logger.addHandler(console)