コード例 #1
0
def set_log_level(log_level):
    """
    Set logging level of this module. The module using
    `logbook <https://logbook.readthedocs.io/en/stable/>`__ module for logging.

    :param int log_level:
        One of the log level of the
        `logbook <https://logbook.readthedocs.io/en/stable/api/base.html>`__.
        Disabled logging if the ``log_level`` is ``logbook.NOTSET``.
    :raises LookupError: If ``log_level`` is an invalid value.
    """

    # validate log level
    logbook.get_level_name(log_level)

    if log_level == logger.level:
        return

    if log_level == logbook.NOTSET:
        set_logger(is_enable=False)
    else:
        set_logger(is_enable=True)

    logger.level = log_level
    subprocrunner.set_log_level(log_level)
コード例 #2
0
ファイル: _logger.py プロジェクト: thombashi/pingparsing
def set_log_level(log_level):
    """
    Set logging level of this module. The module using
    `logbook <https://logbook.readthedocs.io/en/stable/>`__ module for logging.

    :param int log_level:
        One of the log level of the
        `logbook <https://logbook.readthedocs.io/en/stable/api/base.html>`__.
        Disabled logging if the ``log_level`` is ``logbook.NOTSET``.
    :raises LookupError: If ``log_level`` is an invalid value.
    """

    # validate log level
    logbook.get_level_name(log_level)

    if log_level == logger.level:
        return

    if log_level == logbook.NOTSET:
        set_logger(is_enable=False)
    else:
        set_logger(is_enable=True)

    logger.level = log_level
    subprocrunner.set_log_level(log_level)
コード例 #3
0
ファイル: tcdel.py プロジェクト: tonytan4ever/tcconfig
def main():
    options = parse_option()

    initialize_cli(options)

    if is_execute_tc_command(options.tc_command_output):
        check_tc_command_installation()
        try:
            check_execution_authority()
        except PermissionError as e:
            logger.error(e)
            return errno.EPERM
        is_delete_all = options.is_delete_all
    else:
        subprocrunner.SubprocessRunner.default_is_dry_run = True
        is_delete_all = True
        set_logger(False)

    try:
        verify_network_interface(options.device)
    except NetworkInterfaceNotFoundError as e:
        logger.error(e)
        return errno.EINVAL

    subprocrunner.SubprocessRunner.clear_history()
    tc = create_tc_obj(options)
    if options.log_level == logbook.INFO:
        subprocrunner.set_log_level(logbook.ERROR)
    normalize_tc_value(tc)

    return_code = 0
    try:
        if is_delete_all:
            return_code = tc.delete_all_tc()
        else:
            return_code = tc.delete_tc()
    except NetworkInterfaceNotFoundError as e:
        logger.error(e)
        return errno.EINVAL

    command_history = "\n".join(tc.get_command_history())

    if options.tc_command_output == TcCommandOutput.STDOUT:
        print(command_history)
        return return_code
    elif options.tc_command_output == TcCommandOutput.SCRIPT:
        set_logger(True)
        write_tc_script(Tc.Command.TCDEL,
                        command_history,
                        filename_suffix=options.device)
        return return_code

    logger.debug("command history\n{}".format(command_history))

    return return_code
コード例 #4
0
ファイル: tcdel.py プロジェクト: Sir-Nightmare/tcconfig
def main():
    options = parse_option()

    set_log_level(options.log_level)

    subprocrunner.Which("tc").verify()

    try:
        verify_network_interface(options.device)
    except NetworkInterfaceNotFoundError as e:
        logger.error(e)
        return errno.EINVAL

    tc = TrafficControl(options.device)
    if options.log_level == logbook.INFO:
        subprocrunner.set_log_level(logbook.ERROR)

    subprocrunner.SubprocessRunner.is_save_history = True
    if options.tc_command_output != TcCoomandOutput.NOT_SET:
        subprocrunner.SubprocessRunner.default_is_dry_run = True

    if options.tc_command_output != TcCoomandOutput.NOT_SET:
        set_logger(False)

    try:
        return_code = tc.delete_tc()
    except NetworkInterfaceNotFoundError as e:
        logger.debug(e)
        return 0

    command_history = "\n".join(tc.get_command_history())

    if options.tc_command_output == TcCoomandOutput.STDOUT:
        print(command_history)
        return return_code

    if options.tc_command_output == TcCoomandOutput.SCRIPT:
        set_logger(True)
        write_tc_script("tcdel",
                        command_history,
                        filename_suffix=options.device)
        return return_code

    logger.debug("command history\n{}".format(command_history))

    return return_code
コード例 #5
0
def set_log_level(log_level):
    """
    Set logging level of this module. The module using
    `logbook <http://logbook.readthedocs.io/en/stable/>`__ module for logging.

    :param int log_level:
        One of the log level of the
        `logbook <http://logbook.readthedocs.io/en/stable/api/base.html>`__.
        Disabled logging if the ``log_level`` is ``logbook.NOTSET``.
    """

    subprocrunner.set_log_level(log_level)

    if log_level == logbook.NOTSET:
        set_logger(is_enable=False)
    else:
        set_logger(is_enable=True)
        logger.level = log_level
コード例 #6
0
    def run(self, is_delete_all):
        return_code_list = []

        for tc_target in self._fetch_tc_targets():
            tc = self.__create_tc_obj(tc_target)
            if self._options.log_level == logbook.INFO:
                spr.set_log_level(logbook.ERROR)
            normalize_tc_value(tc)

            try:
                if is_delete_all:
                    return_code_list.append(tc.delete_all_tc())
                else:
                    return_code_list.append(tc.delete_tc())
            except NetworkInterfaceNotFoundError as e:
                logger.error(e)
                return errno.EINVAL

            self._dump_history(tc, Tc.Command.TCDEL)

        return self._get_return_code(return_code_list)
コード例 #7
0
ファイル: tcdel.py プロジェクト: saarpaz/tcconfig
def main():
    options = parse_option()

    set_log_level(options.log_level)

    subprocrunner.Which("tc").verify()

    try:
        verify_network_interface(options.device)
    except NetworkInterfaceNotFoundError as e:
        logger.error(e)
        return 1

    tc = TrafficControl(options.device)
    if options.log_level == logbook.INFO:
        subprocrunner.set_log_level(logbook.ERROR)

    try:
        return tc.delete_tc()
    except NetworkInterfaceNotFoundError as e:
        logger.debug(e)
        return 0

    return 1
コード例 #8
0
def main():
    options = parse_option()

    initialize_cli(options)

    if is_execute_tc_command(options.tc_command_output):
        check_execution_authority("tc")

        if not options.use_docker:
            try:
                verify_network_interface(options.device, options.tc_command_output)
            except NetworkInterfaceNotFoundError as e:
                logger.error(e)
                return errno.EINVAL

        is_delete_all = options.is_delete_all
    else:
        spr.SubprocessRunner.default_is_dry_run = True
        is_delete_all = True
        set_logger(False)

    spr.SubprocessRunner.clear_history()

    if options.use_docker:
        dclient = DockerClient(options.tc_command_output)
        container = options.device

        dclient.verify_container(container, exit_on_exception=True)
        dclient.create_veth_table(container)
        tc_target_list = dclient.fetch_veth_list(dclient.get_container_info(container).name)
    else:
        tc_target_list = [options.device]

    for tc_target in tc_target_list:
        tc = create_tc_obj(tc_target, options)
        if options.log_level == logbook.INFO:
            spr.set_log_level(logbook.ERROR)
        normalize_tc_value(tc)

        return_code = 0
        try:
            if is_delete_all:
                return_code = tc.delete_all_tc()
            else:
                return_code = tc.delete_tc()
        except NetworkInterfaceNotFoundError as e:
            logger.error(e)
            return errno.EINVAL

        command_history = "\n".join(tc.get_command_history())

        if options.tc_command_output == TcCommandOutput.STDOUT:
            print(command_history)
            return return_code
        elif options.tc_command_output == TcCommandOutput.SCRIPT:
            set_logger(True)
            write_tc_script(Tc.Command.TCDEL, command_history, filename_suffix=tc_target)
            return return_code

        logger.debug("command history\n{}".format(command_history))

    return return_code