stderr.setFormatter(logging.Formatter('%(levelname)s: %(message)s'))
if not options.quiet: logger.addHandler(stderr)
else: logger.addHandler(NullLogHandler()) # prevent default
- if options.log_file:
- file = logging.FileHandler(options.log_file)
- logformatter = logging.Formatter("%(asctime)s %(levelname)s: %(message)s", "%Y-%m-%d %H:%M")
- file.setFormatter(logformatter)
- logger.addHandler(file)
+ if options.log_file: addFileLogger(options.log_file, options.debug)
if options.debug:
logger.setLevel(logging.DEBUG)
else:
stderr.setLevel(logging.WARNING)
if options.verbose:
stderr.setLevel(logging.INFO)
- if options.log_file:
- file.setLevel(logging.INFO)
def our_excepthook(type, value, tb):
logging.error("".join(traceback.format_exception(type,value,tb)))
sys.exit(1)
logging_setup = True
return logger
+def addFileLogger(log_file, debug):
+ logger = logging.getLogger()
+ file = logging.FileHandler(log_file)
+ logformatter = logging.Formatter("%(asctime)s %(levelname)s: %(message)s", "%Y-%m-%d %H:%M")
+ file.setFormatter(logformatter)
+ logger.addHandler(file)
+ if not debug:
+ file.setLevel(logging.INFO)
+ return file
+
def makeBaseArgs(options, **grab):
"""Takes parsed options, and breaks them back into a command
line string that we can pass into a subcommand"""