From 5c3e1a693e2217e990ae42cd27c1d9795df38d68 Mon Sep 17 00:00:00 2001 From: Alexander Kukushkin Date: Wed, 20 Dec 2023 10:49:33 +0100 Subject: [PATCH] Implement validation of the `log` section (#2989) Somehow it was always forgotten. --- patroni/validator.py | 12 ++++++++++++ tests/test_validator.py | 14 ++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/patroni/validator.py b/patroni/validator.py index d0b168be..bd69cc0e 100644 --- a/patroni/validator.py +++ b/patroni/validator.py @@ -937,6 +937,18 @@ validate_etcd = { schema = Schema({ "name": str, "scope": str, + Optional("log"): { + Optional("level"): EnumValidator(('DEBUG', 'INFO', 'WARN', 'WARNING', 'ERROR', 'FATAL', 'CRITICAL'), + case_sensitive=True, raise_assert=True), + Optional("traceback_level"): EnumValidator(('DEBUG', 'ERROR'), raise_assert=True), + Optional("format"): str, + Optional("dateformat"): str, + Optional("max_queue_size"): int, + Optional("dir"): str, + Optional("file_num"): int, + Optional("file_size"): int, + Optional("loggers"): dict + }, Optional("ctl"): { Optional("insecure"): bool, Optional("cacert"): str, diff --git a/tests/test_validator.py b/tests/test_validator.py index 1f647dbe..d5e82992 100644 --- a/tests/test_validator.py +++ b/tests/test_validator.py @@ -13,6 +13,20 @@ available_dcs = [m.split(".")[-1] for m in dcs_modules()] config = { "name": "string", "scope": "string", + "log": { + "level": "DEBUG", + "traceback_level": "DEBUG", + "format": "%(asctime)s %(levelname)s: %(message)s", + "dateformat": "%Y-%m-%d %H:%M:%S", + "max_queue_size": 100, + "dir": "/tmp", + "file_num": 10, + "file_size": 1000000, + "loggers": { + "patroni.postmaster": "WARNING", + "urllib3": "DEBUG" + } + }, "restapi": { "listen": "127.0.0.2:800", "connect_address": "127.0.0.2:800",