浏览代码

Merge pull request #1898 from aanand/verbose-debug

Set log level to DEBUG when `--verbose` is passed
Daniel Nephin 10 年之前
父节点
当前提交
1212193c02
共有 1 个文件被更改,包括 11 次插入3 次删除
  1. 11 3
      compose/cli/main.py

+ 11 - 3
compose/cli/main.py

@@ -25,6 +25,7 @@ from .log_printer import LogPrinter
 from .utils import yesno, get_version_info
 
 log = logging.getLogger(__name__)
+console_handler = logging.StreamHandler(sys.stderr)
 
 INSECURE_SSL_WARNING = """
 Warning: --allow-insecure-ssl is deprecated and has no effect.
@@ -63,9 +64,6 @@ def main():
 
 
 def setup_logging():
-    console_handler = logging.StreamHandler(sys.stderr)
-    console_handler.setFormatter(logging.Formatter())
-    console_handler.setLevel(logging.INFO)
     root_logger = logging.getLogger()
     root_logger.addHandler(console_handler)
     root_logger.setLevel(logging.DEBUG)
@@ -118,6 +116,16 @@ class TopLevelCommand(Command):
         options['version'] = get_version_info('compose')
         return options
 
+    def perform_command(self, options, *args, **kwargs):
+        if options.get('--verbose'):
+            console_handler.setFormatter(logging.Formatter('%(name)s.%(funcName)s: %(message)s'))
+            console_handler.setLevel(logging.DEBUG)
+        else:
+            console_handler.setFormatter(logging.Formatter())
+            console_handler.setLevel(logging.INFO)
+
+        return super(TopLevelCommand, self).perform_command(options, *args, **kwargs)
+
     def build(self, project, options):
         """
         Build or rebuild services.