From 28f2fe03e65a107e2a172fb330af339f88ef8d49 Mon Sep 17 00:00:00 2001 From: YueGuobin Date: Thu, 5 Mar 2026 21:04:46 +0800 Subject: [PATCH] feat: suppress nornir INFO logs to reduce console verbosity Set logging level for nornir.core and nornir loggers to WARNING in config_tools_nornir.py and display_tools_nornir.py. This prevents nornir from logging task execution at INFO level to the console, as the logging={"enabled": False} parameter in InitNornir only disables plugin internal logs. --- .../agent/gns3_copilot/tools_v2/config_tools_nornir.py | 6 ++++++ .../agent/gns3_copilot/tools_v2/display_tools_nornir.py | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/gns3server/agent/gns3_copilot/tools_v2/config_tools_nornir.py b/gns3server/agent/gns3_copilot/tools_v2/config_tools_nornir.py index e97e65704..637174276 100644 --- a/gns3server/agent/gns3_copilot/tools_v2/config_tools_nornir.py +++ b/gns3server/agent/gns3_copilot/tools_v2/config_tools_nornir.py @@ -49,6 +49,12 @@ from gns3server.agent.gns3_copilot.utils import get_device_ports_from_topology # config log logger = logging.getLogger(__name__) +# Suppress nornir INFO logs in console (reduce verbosity) +# The logging={"enabled": False} in InitNornir only disables plugin internal logs, +# but nornir.core still logs task execution at INFO level. Set to WARNING to suppress these. +logging.getLogger("nornir.core").setLevel(logging.WARNING) +logging.getLogger("nornir").setLevel(logging.WARNING) + # Local Nornir configuration functions for Cisco IOS Telnet devices def _get_nornir_defaults() -> dict[str, Any]: diff --git a/gns3server/agent/gns3_copilot/tools_v2/display_tools_nornir.py b/gns3server/agent/gns3_copilot/tools_v2/display_tools_nornir.py index d7f14c4e9..61b084d3d 100644 --- a/gns3server/agent/gns3_copilot/tools_v2/display_tools_nornir.py +++ b/gns3server/agent/gns3_copilot/tools_v2/display_tools_nornir.py @@ -49,6 +49,12 @@ from gns3server.agent.gns3_copilot.utils import get_device_ports_from_topology # config log logger = logging.getLogger(__name__) +# Suppress nornir INFO logs in console (reduce verbosity) +# The logging={"enabled": False} in InitNornir only disables plugin internal logs, +# but nornir.core still logs task execution at INFO level. Set to WARNING to suppress these. +logging.getLogger("nornir.core").setLevel(logging.WARNING) +logging.getLogger("nornir").setLevel(logging.WARNING) + # Local Nornir configuration functions for Cisco IOS Telnet devices def _get_nornir_defaults() -> dict[str, Any]: