def test_set_verbosity(): root = logging.getLogger('cmk') root.setLevel(logging.INFO) l = logging.getLogger("cmk.test_logger") assert l.getEffectiveLevel() == logging.INFO assert l.isEnabledFor(log.VERBOSE) is False assert l.isEnabledFor(logging.DEBUG) is False log.logger.setLevel(log.verbosity_to_log_level(0)) assert l.getEffectiveLevel() == logging.INFO assert l.isEnabledFor(log.VERBOSE) is False assert l.isEnabledFor(logging.DEBUG) is False log.logger.setLevel(log.verbosity_to_log_level(1)) assert l.getEffectiveLevel() == log.VERBOSE assert l.isEnabledFor(log.VERBOSE) is True assert l.isEnabledFor(logging.DEBUG) is False log.logger.setLevel(log.verbosity_to_log_level(2)) assert l.getEffectiveLevel() == logging.DEBUG assert l.isEnabledFor(log.VERBOSE) is True assert l.isEnabledFor(logging.DEBUG) is True # Use debug level (highest supported) log.logger.setLevel(log.verbosity_to_log_level(3)) assert l.getEffectiveLevel() == logging.DEBUG assert l.isEnabledFor(log.VERBOSE) is True assert l.isEnabledFor(logging.DEBUG) is True # Reset verbosity for next test run. log.logger.setLevel(log.verbosity_to_log_level(0))
def test_set_verbosity(): root = logging.getLogger('cmk') root.setLevel(logging.INFO) l = logging.getLogger("cmk.test_logger") assert l.getEffectiveLevel() == logging.INFO assert l.isEnabledFor(log.VERBOSE) is False assert l.isEnabledFor(logging.DEBUG) is False log.logger.setLevel(log.verbosity_to_log_level(0)) assert l.getEffectiveLevel() == logging.INFO assert l.isEnabledFor(log.VERBOSE) is False assert l.isEnabledFor(logging.DEBUG) is False log.logger.setLevel(log.verbosity_to_log_level(1)) assert l.getEffectiveLevel() == log.VERBOSE assert l.isEnabledFor(log.VERBOSE) is True assert l.isEnabledFor(logging.DEBUG) is False log.logger.setLevel(log.verbosity_to_log_level(2)) assert l.getEffectiveLevel() == logging.DEBUG assert l.isEnabledFor(log.VERBOSE) is True assert l.isEnabledFor(logging.DEBUG) is True with pytest.raises(ValueError): log.logger.setLevel(log.verbosity_to_log_level(3)) # Reset verbosity for next test run. log.logger.setLevel(log.verbosity_to_log_level(0))
def main(args): # type: (List[str]) -> int arguments = parse_arguments(args) try: log.setup_console_logging() log.logger.setLevel(log.verbosity_to_log_level(arguments.verbose)) logger = logging.getLogger("cmk.update_config") if arguments.debug: cmk.utils.debug.enable() logger.debug("parsed arguments: %s", arguments) UpdateConfig(logger, arguments).run() except Exception as e: if arguments.debug: raise if logger: logger.exception( "ERROR: Please repair this and run \"cmk-update-config -v\"") else: print("ERROR: %s" % e) return 1 return 0
def setup_logging(arguments: argparse.Namespace) -> None: log.setup_console_logging() log.logger.setLevel(log.verbosity_to_log_level(arguments.verbose)) # TODO: Fix this cruel hack caused by our funny mix of GUI + console # stuff. Currently, we just move the console handler to the top, so # both worlds are happy. We really, really need to split business logic # from presentation code... :-/ if log.logger.handlers: console_handler = log.logger.handlers[0] del log.logger.handlers[:] logging.getLogger().addHandler(console_handler)
def main(args: List[str]) -> int: arguments = parse_arguments(args) log.setup_console_logging() log.logger.setLevel(log.verbosity_to_log_level(arguments.verbose)) logger = logging.getLogger("cmk.update_config") if arguments.debug: cmk.utils.debug.enable() logger.debug("parsed arguments: %s", arguments) try: UpdateConfig(logger, arguments).run() except Exception: if arguments.debug: raise logger.exception("ERROR: Please repair this and run \"cmk-update-config -v\" " "BEFORE starting the site again.") return 1 return 0