Example #1
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

    # 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))
Example #2
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))
Example #3
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
Example #4
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)
Example #5
0
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