]> scripts.mit.edu Git - wizard.git/blobdiff - wizard/command/__init__.py
Automatically perform logging during --continue.
[wizard.git] / wizard / command / __init__.py
index c03cfdac723577d0ecb731eddc3899a16c365b7f..a3c06c29f067d936e1bb0b76a641e1419508a35a 100644 (file)
@@ -41,19 +41,13 @@ def makeLogger(options, numeric_args):
     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)
@@ -61,6 +55,16 @@ def makeLogger(options, numeric_args):
     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"""