summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/common/commandmanager.py1
-rw-r--r--openstackclient/shell.py53
2 files changed, 44 insertions, 10 deletions
diff --git a/openstackclient/common/commandmanager.py b/openstackclient/common/commandmanager.py
index 204b943b..aa238a23 100644
--- a/openstackclient/common/commandmanager.py
+++ b/openstackclient/common/commandmanager.py
@@ -37,7 +37,6 @@ class CommandManager(cliff.commandmanager.CommandManager):
group = self.namespace
self.group_list.append(group)
for ep in pkg_resources.iter_entry_points(group):
- LOG.debug('found command %r', ep.name)
cmd_name = (
ep.name.replace('_', ' ')
if self.convert_underscores
diff --git a/openstackclient/shell.py b/openstackclient/shell.py
index 719ee480..67eaca55 100644
--- a/openstackclient/shell.py
+++ b/openstackclient/shell.py
@@ -123,6 +123,50 @@ class OpenStackShell(app.App):
help="Show this help message and exit",
)
+ def configure_logging(self):
+ """Configure logging for the app
+
+ Cliff sets some defaults we don't want so re-work it a bit
+ """
+
+ if self.options.debug:
+ # --debug forces verbose_level 3
+ # Set this here so cliff.app.configure_logging() can work
+ self.options.verbose_level = 3
+
+ super(OpenStackShell, self).configure_logging()
+ root_logger = logging.getLogger('')
+
+ # Requests logs some stuff at INFO that we don't want
+ # unless we have DEBUG
+ requests_log = logging.getLogger("requests")
+ requests_log.setLevel(logging.ERROR)
+
+ # Other modules we don't want DEBUG output for so
+ # don't reset them below
+ iso8601_log = logging.getLogger("iso8601")
+ iso8601_log.setLevel(logging.ERROR)
+
+ # Set logging to the requested level
+ self.dump_stack_trace = False
+ if self.options.verbose_level == 0:
+ # --quiet
+ root_logger.setLevel(logging.ERROR)
+ elif self.options.verbose_level == 1:
+ # This is the default case, no --debug, --verbose or --quiet
+ root_logger.setLevel(logging.WARNING)
+ elif self.options.verbose_level == 2:
+ # One --verbose
+ root_logger.setLevel(logging.INFO)
+ elif self.options.verbose_level >= 3:
+ # Two or more --verbose
+ root_logger.setLevel(logging.DEBUG)
+ requests_log.setLevel(logging.DEBUG)
+
+ if self.options.debug:
+ # --debug forces traceback
+ self.dump_stack_trace = True
+
def run(self, argv):
try:
return super(OpenStackShell, self).run(argv)
@@ -401,15 +445,6 @@ class OpenStackShell(app.App):
super(OpenStackShell, self).initialize_app(argv)
- # Set requests logging to a useful level
- requests_log = logging.getLogger("requests")
- if self.options.debug:
- requests_log.setLevel(logging.DEBUG)
- self.dump_stack_trace = True
- else:
- requests_log.setLevel(logging.WARNING)
- self.dump_stack_trace = False
-
# Save default domain
self.default_domain = self.options.os_default_domain