0

configure_logger() takes a loglevel and verbose flag now

This commit is contained in:
Andrew Brown
2011-11-07 20:11:10 -05:00
parent acbf87db3f
commit 49f8e1a09f

View File

@@ -124,17 +124,21 @@ builtin_custom_rendermodes = {
helptext = """ helptext = """
%prog [OPTIONS] <World # / Name / Path to World> <tiles dest dir>""" %prog [OPTIONS] <World # / Name / Path to World> <tiles dest dir>"""
def configure_logger(options=None): def configure_logger(loglevel=logging.INFO, verbose=False):
"Configures the root logger to our liking" """Configures the root logger to our liking
For a non-standard loglevel, pass in the level with which to configure the handler.
For a more verbose options line, pass in verbose=True
This function may be called more than once.
"""
if not options:
verbose = False
else:
verbose = options.verbose
logger = logging.getLogger() logger = logging.getLogger()
outstream = sys.stderr outstream = sys.stderr
if platform.system() == 'Windows': if platform.system() == 'Windows':
# Our custom output stream processor knows how to deal with select ANSI # Our custom output stream processor knows how to deal with select ANSI
# color escape sequences # color escape sequences
@@ -151,16 +155,17 @@ def configure_logger(options=None):
if hasattr(logger, 'overviewerHandler'): if hasattr(logger, 'overviewerHandler'):
# we have already set up logging so just replace the formatter # we have already set up logging so just replace the formatter
# this time with the new values from options # this time with the new values
logger.overviewerHandler.setFormatter(formatter) logger.overviewerHandler.setFormatter(formatter)
logger.setLevel(logger.level + 10*options.quiet) logger.setLevel(loglevel)
logger.setLevel(logger.level - 10*options.verbose)
else: else:
# Save our handler here so we can tell which handler was ours if the
# function is called again
logger.overviewerHandler = logging.StreamHandler(outstream) logger.overviewerHandler = logging.StreamHandler(outstream)
logger.overviewerHandler.setFormatter(formatter) logger.overviewerHandler.setFormatter(formatter)
logger.addHandler(logger.overviewerHandler) logger.addHandler(logger.overviewerHandler)
logger.setLevel(logging.INFO) logger.setLevel(loglevel)
def main(): def main():
@@ -206,8 +211,9 @@ def main():
options, args = parser.parse_args() options, args = parser.parse_args()
# the details of the logger options can depend on the command line options # re-configure the logger now that we've processed the command line options
configure_logger(options) configure_logger(logging.INFO + 10*options.quiet - 10*options.verbose,
options.verbose > 0)
if options.version: if options.version:
try: try: