Source code for cloudmesh_client.shell.plugins.LogLevelCommand

from __future__ import print_function

from cloudmesh_client.shell.console import Console
from cloudmesh_client.shell.command import command, PluginCommand, \
    CloudPluginCommand, ShellPluginCommand
from cloudmesh_client.default import Default
from cloudmesh_client.common.LogUtil import LogUtil

# get the logger
LOGGER = LogUtil.get_logger()


[docs]class LogLevelCommand(PluginCommand, CloudPluginCommand, ShellPluginCommand): topics = {"loglevel": "shell"} def __init__(self, context): self.context = context if self.context.debug: print("init command loglevel") # noinspection PyUnusedLocal @command def do_loglevel(self, args, arguments): """ :: Usage: loglevel set MODE [--cloud=CLOUD] loglevel get [--cloud=CLOUD] loglevel save [--cloud=CLOUD] Arguments: MODE log level mode [DEBUG/INFO/WARNING/CRITICAL/ERROR] Options: --cloud=CLOUD the name of the cloud Description: loglevel command sets the default logging level for a cloud. Examples: loglevel set DEBUG --cloud=kilo sets the default log level to DEBUG for kilo. loglevel get --cloud=kilo retreives the default log level for kilo cloud. loglevel save --cloud=kilo saves the log level preference to the db & yaml file. """ # pprint(arguments) cloud = arguments["--cloud"] or Default.cloud LOGGER.info("Cloud: " + cloud + ", Arguments: " + str(arguments)) if arguments["set"]: try: log_level = arguments["MODE"] response = LogUtil.set_level(log_level=log_level, cloudname=cloud) if response is not None: Console.ok(response) except Exception as ex: Console.error(ex.message) elif arguments["get"]: try: log_level = LogUtil.get_level(cloudname=cloud) Console.ok("Current Log Level = " + log_level + ". Ok.") except Exception as ex: Console.error(ex.message) elif arguments["save"]: LogUtil.save(cloudname=cloud) pass