def test_setup_logger_level(): test_cases = [ ("INFO", logging.INFO), ("Debug", logging.DEBUG), ("critical", logging.CRITICAL), ("NOTEXISTS", logging.INFO), ("BASIC_FORMAT", logging.INFO), ] for level, expected in test_cases: setup_logger(level) actual = logging.getLogger().getEffectiveLevel() assert actual == expected, f"{level} level should be {expected} (got {actual})"
# Using a plugin hook for adding arguments before parsing args = parse_args(add_args_hook=pm.hook.parser_add_arguments) config = Config( active=args.active, cidr=args.cidr, include_patched_versions=args.include_patched_versions, interface=args.interface, log_file=args.log_file, mapping=args.mapping, network_timeout=args.network_timeout, pod=args.pod, quick=args.quick, remote=args.remote, statistics=args.statistics, ) setup_logger(args.log, args.log_file) set_config(config) # Running all other registered plugins before execution pm.hook.load_plugin(args=args) from kube_hunter.core.events import handler from kube_hunter.core.events.types import HuntFinished, HuntStarted from kube_hunter.modules.discovery.hosts import RunningAsPodEvent, HostScanEvent from kube_hunter.modules.report import get_reporter, get_dispatcher logger = logging.getLogger(__name__) config.dispatcher = get_dispatcher(args.dispatch) config.reporter = get_reporter(args.report)
def test_setup_logger_none(): setup_logger("NONE", None) assert logging.getLogger().manager.disable == logging.CRITICAL
from kube_hunter.conf.parser import parse_args from kube_hunter.conf.logging import setup_logger config = parse_args() setup_logger(config.log) __all__ = [config]
from kube_hunter.conf.logging import setup_logger args = parse_args() config = Config( active=args.active, cidr=args.cidr, include_patched_versions=args.include_patched_versions, interface=args.interface, mapping=args.mapping, network_timeout=args.network_timeout, pod=args.pod, quick=args.quick, remote=args.remote, statistics=args.statistics, ) setup_logger(args.log) set_config(config) from kube_hunter.core.events import handler from kube_hunter.core.events.types import HuntFinished, HuntStarted from kube_hunter.modules.discovery.hosts import RunningAsPodEvent, HostScanEvent from kube_hunter.modules.report import get_reporter, get_dispatcher logger = logging.getLogger(__name__) config.dispatcher = get_dispatcher(args.dispatch) config.reporter = get_reporter(args.report) def interactive_set_config(): """Sets config manually, returns True for success""" options = [