コード例 #1
0
ファイル: Logs.py プロジェクト: solarblue/waf
#!/usr/bin/env python
# encoding: utf-8
# Thomas Nagy, 2005-2016 (ita)
"""
logging, colors, terminal width and pretty-print
"""

import os, re, traceback, sys
from waflib import Utils, ansiterm

if not os.environ.get('NOSYNC', False):
    # synchronized output is nearly mandatory to prevent garbled output
    if sys.stdout.isatty() and id(sys.stdout) == id(sys.__stdout__):
        sys.stdout = ansiterm.AnsiTerm(sys.stdout)
    if sys.stderr.isatty() and id(sys.stderr) == id(sys.__stderr__):
        sys.stderr = ansiterm.AnsiTerm(sys.stderr)

# import the logging module after since it holds a reference on sys.stderr
# in case someone uses the root logger
import logging

LOG_FORMAT = os.environ.get('WAF_LOG_FORMAT',
                            '%(asctime)s %(c1)s%(zone)s%(c2)s %(message)s')
HOUR_FORMAT = os.environ.get('WAF_HOUR_FORMAT', '%H:%M:%S')

zones = []
"""
See :py:class:`waflib.Logs.log_filter`
"""

verbose = 0
コード例 #2
0
 def wrap(stream):
     if stream.isatty():
         return ansiterm.AnsiTerm(stream)
     return stream