]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
manager: logging: added debug groups for the manager docs-logging-impr-dwwxha/deployments/7505 logging-improvements
authorAleš Mrázek <ales.mrazek@nic.cz>
Fri, 29 Aug 2025 15:02:25 +0000 (17:02 +0200)
committerAleš Mrázek <ales.mrazek@nic.cz>
Fri, 29 Aug 2025 15:02:25 +0000 (17:02 +0200)
doc/_static/config.schema.json
python/knot_resolver/datamodel/logging_schema.py
python/knot_resolver/datamodel/templates/logging.lua.j2
python/knot_resolver/datamodel/templates/policy-config.lua.j2
python/knot_resolver/manager/logging.py

index a2dd6421954e1d08cabd5bbe3cc64d22d7572900..431799e218143966d7f957d2ae9c95e83f71a4e5 100644 (file)
                             "policy-loader",
                             "kresd",
                             "cache-gc",
+                            "files-watchdog",
+                            "metrics",
+                            "server",
                             "system",
                             "cache",
                             "io",
index 51d0a0e8494816c45193f89cc4f7243ee7ae6a54..188e4394fc6adc98d1c464adbfebdc8a8647c015 100644 (file)
@@ -16,6 +16,12 @@ LogGroupsProcessesEnum = Literal[
     "cache-gc",
 ]
 
+LogGroupsManagerEnum = Literal[
+    "files-watchdog",
+    "metrics",
+    "server",
+]
+
 LogGroupsKresdEnum = Literal[
     ## Now the LOG_GRP_*_TAG defines, exactly from ../../../lib/log.h
     "system",
@@ -68,7 +74,7 @@ LogGroupsKresdEnum = Literal[
     # "reqdbg",... (non-displayed section of the enum)
 ]
 
-LogGroupsEnum = Literal[LogGroupsProcessesEnum, LogGroupsKresdEnum]
+LogGroupsEnum = Literal[LogGroupsProcessesEnum, LogGroupsManagerEnum, LogGroupsKresdEnum]
 
 
 class DnstapSchema(ConfigSchema):
index 4afe48c4712a5325e8e6ba319200b5a7ad3e0a2c..b588713cde828ce753cffadac73d3e1bc6192995 100644 (file)
@@ -16,7 +16,9 @@ log_target('{{ cfg.logging.target }}')
 -- logging.groups
 log_groups({
 {% for g in cfg.logging.groups %}
-{% if g not in ["manager", "supervisord", "policy-loader", "kresd", "cache-gc"] %}
+{% if g not in ["manager", "supervisord", "policy-loader", "kresd", "cache-gc",
+    "files-watchdog", "metrics", "server",
+] %}
     '{{ g }}',
 {% endif %}
 {% endfor %}
index ec30171d844ea6b831c2ab1c7732096cb2fa07ab..ba8acedd647f038816dfe78673030e87481ddf8d 100644 (file)
@@ -20,7 +20,10 @@ log_target('{{ cfg.logging.target }}')
 -- logging.groups
 log_groups({
 {% for g in cfg.logging.groups %}
-{% if g not in ["manager", "supervisord", "policy-loader", "kresd", "cache-gc"] %}
+{% if g not in [
+    "manager", "supervisord", "policy-loader", "kresd", "cache-gc",
+    "files-watchdog", "metrics", "server",
+] %}
     '{{ g }}',
 {% endif %}
 {% endfor %}
index bd1689227080d85b8b554003e44a2e6c55f6e268..6f8e0d1030f0a9334a7b433aebd77bafe9b0890a 100644 (file)
@@ -5,7 +5,9 @@ import sys
 from typing import Any
 
 from knot_resolver.datamodel.config_schema import KresConfig
+from knot_resolver.datamodel.logging_schema import LogGroupsManagerEnum
 from knot_resolver.manager.config_store import ConfigStore, only_on_real_changes_update
+from knot_resolver.utils.modeling.types import get_generic_type_arguments
 
 from .constants import LOGGING_LEVEL_STARTUP
 
@@ -81,6 +83,19 @@ async def _set_log_level(config: KresConfig) -> None:
     logger.warning(f"Changing logging level to '{_level_to_name[target]}'")
     logging.getLogger().setLevel(target)
 
+    # mapping for nonstandard names
+    groups_map = {
+        "files-watchdog": "files",
+    }
+    # set debug groups
+    if groups:
+        package_name = __name__.rsplit(".", 1)[0]
+        for group in groups:
+            if group in get_generic_type_arguments(LogGroupsManagerEnum):
+                logger_name = f"{package_name}.{groups_map.get(group, group)}"
+                logger.warning(f"Changing logging level of '{logger_name}' group to '{_level_to_name[target]}'")
+                logging.getLogger(logger_name).setLevel(logging.DEBUG)
+
 
 async def _set_logging_handler(config: KresConfig) -> None:
     target = config.logging.target