]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
logging: debug logging level for individual components(processes)
authorAleš Mrázek <ales.mrazek@nic.cz>
Tue, 26 Aug 2025 13:12:01 +0000 (15:12 +0200)
committerVladimír Čunát <vladimir.cunat@nic.cz>
Mon, 15 Dec 2025 11:46:32 +0000 (12:46 +0100)
- datamodel: logging-groups: added LogGroupsProcessesEnum

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-loader.lua.j2
python/knot_resolver/utils/modeling/base_schema.py

index a5c4c872d842d33ec0ae512f2c433142dc71179b..6b06e42b89edcbd9f6f361b9c188566a66ba4cf7 100644 (file)
                         "enum": [
                             "manager",
                             "supervisord",
+                            "policy-loader",
+                            "kresd",
                             "cache-gc",
                             "system",
                             "cache",
index d0e6101250b526de5b6f2775f8bcfebf19359c5f..ce5fc6f09e7612d89926c99222f622069a5c5c25 100644 (file)
@@ -7,10 +7,16 @@ from knot_resolver.utils.modeling.base_schema import is_obj_type_valid
 
 LogLevelEnum = Literal["crit", "err", "warning", "notice", "info", "debug"]
 LogTargetEnum = Literal["syslog", "stderr", "stdout"]
-LogGroupsEnum = Literal[
+
+LogGroupsProcessesEnum = Literal[
     "manager",
     "supervisord",
+    "policy-loader",
+    "kresd",
     "cache-gc",
+]
+
+LogGroupsKresdEnum = Literal[
     ## Now the LOG_GRP_*_TAG defines, exactly from ../../../lib/log.h
     "system",
     "cache",
@@ -62,6 +68,8 @@ LogGroupsEnum = Literal[
     # "reqdbg",... (non-displayed section of the enum)
 ]
 
+LogGroupsEnum = Literal[LogGroupsProcessesEnum, LogGroupsKresdEnum]
+
 
 class DnstapSchema(ConfigSchema):
     """
index 14e11b51addc284baa08e4a018f88e2972dbbf37..46b9e51bfcdfdda6e10e3a6747f83e3c1b728d5c 100644 (file)
@@ -1,7 +1,11 @@
 {% from 'macros/common_macros.lua.j2' import boolean %}
 
 -- logging.level
+{% if cfg.logging.groups and "kresd" in cfg.logging.groups %}
+log_level('debug')
+{% else %}
 log_level('{{ cfg.logging.level }}')
+{% endif %}
 
 {% if cfg.logging.target -%}
 -- logging.target
@@ -12,7 +16,7 @@ log_target('{{ cfg.logging.target }}')
 -- logging.groups
 log_groups({
 {% for g in cfg.logging.groups %}
-{% if g != "manager" and g != "supervisord" and g != "cache-gc" %}
+{% if g not in ["manager", "supervisord", "policy-loader", "kresd", "cache-gc"] %}
     '{{ g }}',
 {% endif %}
 {% endfor %}
index 0b99970339afd3dd7d810f31562dfd2c4ac1d748..170dcfd3236be20b5e21d737f70e316efc2961a4 100644 (file)
@@ -5,7 +5,11 @@ ffi = require('ffi')
 local C = ffi.C
 
 -- logging.level
+{% if cfg.logging.groups and "policy-loader" in cfg.logging.groups %}
+log_level('debug')
+{% else %}
 log_level('{{ cfg.logging.level }}')
+{% endif %}
 
 {% if cfg.logging.target -%}
 -- logging.target
@@ -16,7 +20,7 @@ log_target('{{ cfg.logging.target }}')
 -- logging.groups
 log_groups({
 {% for g in cfg.logging.groups %}
-{% if g != "manager" and g != "supervisord" and g != "cache-gc" %}
+{% if g not in ["manager", "supervisord", "policy-loader", "kresd", "cache-gc"] %}
     '{{ g }}',
 {% endif %}
 {% endfor %}
index 3bb898ac4a3a5c0374b1bbe830f166157aced218..674cfd782c1551d211d69dd706de9deaf38ff79d 100644 (file)
@@ -197,7 +197,13 @@ def _describe_type(typ: Type[Any]) -> Dict[Any, Any]:  # noqa: PLR0911, PLR0912
         return {"type": "string"}
 
     if is_literal(typ):
-        lit = get_generic_type_arguments(typ)
+        lit: List[Any] = []
+        args = get_generic_type_arguments(typ)
+        for arg in args:
+            if is_literal(arg):
+                lit += get_generic_type_arguments(arg)
+            else:
+                lit.append(arg)
         return {"type": "string", "enum": lit}
 
     if is_optional(typ):