]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
manager: logging levels unification
authorAleš Mrázek <ales.mrazek@nic.cz>
Thu, 18 Nov 2021 11:36:36 +0000 (12:36 +0100)
committerAleš Mrázek <ales.mrazek@nic.cz>
Fri, 8 Apr 2022 14:17:53 +0000 (16:17 +0200)
manager/etc/knot-resolver/config.dev.yml
manager/etc/knot-resolver/config.yml
manager/integration/config.yml
manager/knot_resolver_manager/datamodel/logging_config.py
manager/knot_resolver_manager/datamodel/lua_template.j2
manager/knot_resolver_manager/datamodel/server_schema.py
manager/knot_resolver_manager/server.py

index 04a19be026d7a51e4df5324d6061f5dd0c09f6e0..ee873a642bddb1a7d36c7a6808a74d86dd2b23f2 100644 (file)
@@ -13,5 +13,4 @@ server:
     listen:
       ip: 127.0.0.1
       port: 5000
-    log-level: DEBUG
     rundir: etc/knot-resolver/runtime
index 96a68c51c0eb9daa9e1d9d82e5e1e7e6bf514b60..32f140d3242c08c3ba72fdb85e6ed82621684bb1 100644 (file)
@@ -12,5 +12,4 @@ server:
   management:
     listen:
       unix-socket: /run/knot-resolver/manager.sock
-    log-level: DEBUG
     rundir: /run/knot-resolver
index 5b497929d7530d8eebd5a0d17f35a3ad57eca634..c1b39309bd40d884f814a174409f4a27196804cc 100644 (file)
@@ -9,8 +9,8 @@ server:
     listen:
       ip: 127.0.0.1
       port: 5001
-    log-level: DEBUG
     rundir: integration/run
 cache:
   storage: cache
-
+logging:
+  level: debug
index 266f50a760894ee57ea00f847081c11a437a1296..07d0d1a303b394807382d612800b0fcec91388ad 100644 (file)
@@ -6,6 +6,7 @@ from knot_resolver_manager.utils.types import LiteralEnum
 LogLevelEnum = LiteralEnum["crit", "err", "warning", "notice", "info", "debug"]
 LogTargetEnum = LiteralEnum["syslog", "stderr", "stdout"]
 LogGroupsEnum = LiteralEnum[
+    "manager",
     "system",
     "cache",
     "io",
index f83c7642860c8dd9b1a4d35754101cc64280aa6e..297f22b0bb7a87d928160516c8b36264518c1802 100644 (file)
@@ -212,7 +212,9 @@ log_level('{{ cfg.logging.level }}')
 {% if cfg.logging.groups %}
 log_groups({
 {% for g in cfg.logging.groups %}
+{% if g != "manager" %}
     '{{ g }}',
+{% endif %}
 {% endfor %}
 })
 {% endif %}
index 2e465ab5a79a614270d7ebe78ff4d309e9d199c2..b00be6b8ec40683cf17376e5f3ad17f393cc6184 100644 (file)
@@ -32,7 +32,6 @@ def _cpu_count() -> int:
 
 
 BackendEnum = LiteralEnum["auto", "systemd", "supervisord"]
-LogLevelEnum = LiteralEnum["CRITICAL", "FATAL", "ERROR", "WARN", "WARNING", "INFO", "DEBUG"]
 
 
 class ManagementSchema(SchemaNode):
@@ -44,7 +43,6 @@ class ManagementSchema(SchemaNode):
     listen: Listen = Listen({"unix-socket": "./manager.sock"})
     backend: BackendEnum = "auto"
     rundir: AnyPath = AnyPath(".")
-    log_level: LogLevelEnum = "INFO"
 
 
 class WebmgmtSchema(SchemaNode):
index 320f7bfdd30ae2621148ae670dd94a0b3b939483..eb0ee5f1367e9ddfe4e16874c8e257d83cd34d13 100644 (file)
@@ -148,12 +148,25 @@ class Server:
         )
 
     def _set_log_level(self, config: KresConfig):
-        if self.log_level != config.server.management.log_level:
+
+        levels_map = {
+            "crit": "CRITICAL",
+            "err": "ERROR",
+            "warning": "WARNING",
+            "notice": "WARNING",
+            "info": "INFO",
+            "debug": "DEBUG",
+        }
+
+        target = levels_map[config.logging.level]
+        if config.logging.groups and "manager" in config.logging.groups:
+            target = "DEBUG"
+
+        if self.log_level != target:
             # expects one existing log handler on the root
             h = logging.getLogger().handlers
             assert len(h) == 1
-            target = config.server.management.log_level
-            logger.warning(f"Changing log level to '{target}'")
+            logger.warning(f"Changing logging level to '{target}'")
             h[0].setLevel(target)
             self.log_level = target