diff --git a/hyperglass/execution/main.py b/hyperglass/execution/main.py index 84a62f9..d7fce0d 100644 --- a/hyperglass/execution/main.py +++ b/hyperglass/execution/main.py @@ -47,7 +47,7 @@ async def execute(query: "Query") -> Union["OutputDataModel", str]: """Initiate query validation and execution.""" params = use_state("params") output = params.messages.general - _log = log.bind(query=query, device=query.device) + _log = log.bind(query=query.summary(), device=query.device) _log.debug("") mapped_driver = map_driver(query.device.driver) @@ -67,7 +67,6 @@ async def execute(query: "Query") -> Union["OutputDataModel", str]: response = await driver.collect() output = await driver.response(response) - _log.bind(response=response).debug("Query response") if is_series(output): if len(output) == 0: diff --git a/hyperglass/frontend/__init__.py b/hyperglass/frontend/__init__.py index d38cd6b..bbd7ace 100644 --- a/hyperglass/frontend/__init__.py +++ b/hyperglass/frontend/__init__.py @@ -56,8 +56,6 @@ async def read_package_json() -> t.Dict[str, t.Any]: except Exception as err: raise RuntimeError(f"Error reading package.json: {str(err)}") from err - log.bind(package_json=package_json).debug("package.json value") - return package_json @@ -328,7 +326,6 @@ async def build_frontend( # noqa: C901 } build_json = json.dumps(build_data, default=str) - log.bind(data=build_json).debug("UI Build Data") # Create SHA256 hash from all parameters passed to UI, use as # build identifier. diff --git a/hyperglass/log.py b/hyperglass/log.py index ee13cbe..96edb7c 100644 --- a/hyperglass/log.py +++ b/hyperglass/log.py @@ -46,6 +46,11 @@ _LOG_LEVELS = [ {"name": "CRITICAL", "color": ""}, ] +_EXCLUDE_MODULES = ( + "PIL", + "svglib", +) + HyperglassConsole = Console( theme=Theme( { @@ -119,6 +124,9 @@ class LibInterceptHandler(logging.Handler): def init_logger(level: t.Union[int, str] = logging.INFO): """Initialize hyperglass logging instance.""" + for mod in _EXCLUDE_MODULES: + logging.getLogger(mod).propagate = False + # Reset built-in Loguru configurations. _loguru_logger.remove() @@ -133,6 +141,7 @@ def init_logger(level: t.Union[int, str] = logging.INFO): log_time_format="[%Y%m%d %H:%M:%S]", ), format=formatter, + colorize=False, level=level, filter=filter_uvicorn_values, enqueue=True, @@ -144,6 +153,7 @@ def init_logger(level: t.Union[int, str] = logging.INFO): enqueue=True, format=_FMT if level == logging.INFO else _FMT_DEBUG, level=level, + colorize=False, filter=filter_uvicorn_values, ) @@ -192,6 +202,7 @@ def enable_file_logging( serialize=structured, level=level, encoding="utf8", + colorize=False, rotation=max_size.human_readable(), ) _loguru_logger.bind(path=log_file).debug("Logging to file") @@ -207,5 +218,6 @@ def enable_syslog_logging(*, host: str, port: int) -> None: SysLogHandler(address=(str(host), port)), format=_FMT_BASIC, enqueue=True, + colorize=False, ) _loguru_logger.bind(host=host, port=port).debug("Logging to syslog target") diff --git a/hyperglass/plugins/_builtin/bgp_route_juniper.py b/hyperglass/plugins/_builtin/bgp_route_juniper.py index 69348a9..eb5d38e 100644 --- a/hyperglass/plugins/_builtin/bgp_route_juniper.py +++ b/hyperglass/plugins/_builtin/bgp_route_juniper.py @@ -77,8 +77,6 @@ def parse_juniper(output: Sequence[str]) -> "OutputDataModel": # noqa: C901 parsed: "OrderedDict" = xmltodict.parse( cleaned, force_list=("rt", "rt-entry", "community") ) - _log.debug("Pre-parsed data", data=parsed) - if "rpc-reply" in parsed.keys(): if "xnm:error" in parsed["rpc-reply"]: if "message" in parsed["rpc-reply"]["xnm:error"]: diff --git a/hyperglass/plugins/_manager.py b/hyperglass/plugins/_manager.py index 47c0495..c0194ac 100644 --- a/hyperglass/plugins/_manager.py +++ b/hyperglass/plugins/_manager.py @@ -162,7 +162,7 @@ class InputPluginManager(PluginManager[InputPlugin], type="input"): """Execute all input transformation plugins.""" result = query.query_target for plugin in self._gather_plugins(query): - result = plugin.transform(query=query) + result = plugin.transform(query=query.summary()) log.bind(name=plugin.name, result=repr(result)).debug("Input Plugin Transform") return result