Use a terse logging line if --verbose is not specified
This commit is contained in:
@@ -106,32 +106,47 @@ from overviewer_core import googlemap, rendernode
|
||||
helptext = """
|
||||
%prog [OPTIONS] <World # / Name / Path to World> <tiles dest dir>"""
|
||||
|
||||
def configure_logger():
|
||||
def configure_logger(options=None):
|
||||
"Configures the root logger to our liking"
|
||||
|
||||
if not options:
|
||||
verbose = False
|
||||
else:
|
||||
verbose = options.verbose
|
||||
|
||||
logger = logging.getLogger()
|
||||
|
||||
outstream = sys.stderr
|
||||
if platform.system() == 'Windows':
|
||||
# Our custom output stream processor knows how to deal with select ANSI
|
||||
# color escape sequences
|
||||
outstream = util.WindowsOutputStream()
|
||||
formatter = util.ANSIColorFormatter()
|
||||
formatter = util.ANSIColorFormatter(verbose)
|
||||
|
||||
elif sys.stderr.isatty():
|
||||
# terminal logging with ANSI color
|
||||
formatter = util.ANSIColorFormatter()
|
||||
formatter = util.ANSIColorFormatter(verbose)
|
||||
|
||||
else:
|
||||
# Let's not assume anything. Just text.
|
||||
formatter = util.DumbFormatter()
|
||||
formatter = util.DumbFormatter(verbose)
|
||||
|
||||
logger = logging.getLogger()
|
||||
handler = logging.StreamHandler(outstream)
|
||||
handler.setFormatter(formatter)
|
||||
logger.addHandler(handler)
|
||||
logger.setLevel(logging.INFO)
|
||||
if hasattr(logger, 'overviewerHandler'):
|
||||
# we have already set up logging so just replace the formatter
|
||||
# this time with the new values from options
|
||||
logger.overviewerHandler.setFormatter(formatter)
|
||||
logger.setLevel(logger.level + 10*options.quiet)
|
||||
logger.setLevel(logger.level - 10*options.verbose)
|
||||
|
||||
else:
|
||||
logger.overviewerHandler = logging.StreamHandler(outstream)
|
||||
logger.overviewerHandler.setFormatter(formatter)
|
||||
logger.addHandler(logger.overviewerHandler)
|
||||
logger.setLevel(logging.INFO)
|
||||
|
||||
def main():
|
||||
|
||||
# bootstrap the logger with defaults
|
||||
configure_logger()
|
||||
|
||||
try:
|
||||
@@ -173,6 +188,8 @@ def main():
|
||||
|
||||
options, args = parser.parse_args()
|
||||
|
||||
# the details of the logger options can depend on the command line options
|
||||
configure_logger(options)
|
||||
|
||||
if options.version:
|
||||
try:
|
||||
@@ -315,11 +332,6 @@ dir but you forgot to put quotes around the directory, since it contains spaces.
|
||||
north_direction = options.north_direction
|
||||
else:
|
||||
north_direction = 'auto'
|
||||
|
||||
logging.getLogger().setLevel(
|
||||
logging.getLogger().level + 10*options.quiet)
|
||||
logging.getLogger().setLevel(
|
||||
logging.getLogger().level - 10*options.verbose)
|
||||
|
||||
if options.changelist:
|
||||
try:
|
||||
|
||||
@@ -224,13 +224,17 @@ class HighlightingFormatter(logging.Formatter):
|
||||
"""Base class of our custom formatter
|
||||
|
||||
"""
|
||||
fmtstr = '%(fileandlineno)-18s:PID(%(pid)s):%(asctime)s ' \
|
||||
'%(levelname)-8s %(message)s'
|
||||
datefmt = "%H:%M:%S"
|
||||
datefmt = "%Y-%m-%d %H:%M:%S"
|
||||
funcName_len = 15
|
||||
|
||||
def __init__(self):
|
||||
logging.Formatter.__init__(self, self.fmtstr, self.datefmt)
|
||||
def __init__(self, verbose=False):
|
||||
if verbose:
|
||||
fmtstr = '%(fileandlineno)-18s %(pid)s %(asctime)s ' \
|
||||
'%(levelname)-8s %(message)s'
|
||||
else:
|
||||
fmtstr = '%(asctime)s ' '%(shortlevelname)-1s%(message)s'
|
||||
|
||||
logging.Formatter.__init__(self, fmtstr, self.datefmt)
|
||||
|
||||
def format(self, record):
|
||||
"""Add a few extra options to the record
|
||||
@@ -244,8 +248,15 @@ class HighlightingFormatter(logging.Formatter):
|
||||
|
||||
funcName
|
||||
The function name truncated/padded to a fixed width characters
|
||||
|
||||
shortlevelname
|
||||
The level name truncated to 1 character
|
||||
|
||||
"""
|
||||
|
||||
record.shortlevelname = record.levelname[0] + ' '
|
||||
if record.levelname == 'INFO': record.shortlevelname = ''
|
||||
|
||||
record.pid = os.getpid()
|
||||
record.fileandlineno = "%s:%s" % (record.filename, record.lineno)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user