Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 3dd89f1

Browse files
committed
Introduce LOGGING_OVERRIDE config var
Co-Authored-By: [email protected]
1 parent 7917b4a commit 3dd89f1

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

‎localstack/config.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,9 @@ def in_docker():
418418
LS_LOG = eval_log_type("LS_LOG")
419419
DEBUG = is_env_true("DEBUG") or LS_LOG in TRACE_LOG_LEVELS
420420

421+
# allow setting custom log levels for individual loggers
422+
LOGGING_OVERRIDE = os.environ.get("LOGGING_OVERRIDE", "{}")
423+
421424
# whether to enable debugpy
422425
DEVELOP = is_env_true("DEVELOP")
423426

‎localstack/logging/setup.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import json
12
import logging
23
import sys
34
import warnings
@@ -78,6 +79,23 @@ def setup_logging_from_config():
7879
for name, level in trace_internal_log_levels.items():
7980
logging.getLogger(name).setLevel(level)
8081

82+
if raw_value := config.LOGGING_OVERRIDE:
83+
try:
84+
logging_overrides = json.loads(raw_value)
85+
for logger, level_name in logging_overrides.items():
86+
level = getattr(logging, level_name, None)
87+
if not level:
88+
raise RuntimeError(
89+
f"Failed to configure logging overrides ({raw_value}): '{level_name}' is not a valid log level"
90+
)
91+
logging.getLogger(logger).setLevel(level)
92+
except RuntimeError:
93+
raise
94+
except Exception as e:
95+
raise RuntimeError(
96+
f"Failed to configure logging overrides ({raw_value}): Malformed value. ({e})"
97+
) from e
98+
8199

82100
def create_default_handler(log_level: int):
83101
log_handler = logging.StreamHandler(stream=sys.stderr)

0 commit comments

Comments
 (0)