File tree 2 files changed +15
-0
lines changed
localstack-core/localstack 2 files changed +15
-0
lines changed Original file line number Diff line number Diff line change @@ -442,6 +442,9 @@ def in_docker():
442
442
# path to the lambda debug mode configuration file.
443
443
LAMBDA_DEBUG_MODE_CONFIG_PATH = os .environ .get ("LAMBDA_DEBUG_MODE_CONFIG_PATH" )
444
444
445
+ # EXPERIMENTAL: allow setting custom log levels for individual loggers
446
+ LOG_LEVEL_OVERRIDES = os .environ .get ("LOG_LEVEL_OVERRIDES" , "" )
447
+
445
448
# whether to enable debugpy
446
449
DEVELOP = is_env_true ("DEVELOP" )
447
450
Original file line number Diff line number Diff line change 4
4
5
5
from localstack import config , constants
6
6
7
+ from ..utils .strings import key_value_pairs_to_dict
7
8
from .format import AddFormattedAttributes , DefaultFormatter
8
9
9
10
# The log levels for modules are evaluated incrementally for logging granularity,
@@ -81,6 +82,17 @@ def setup_logging_from_config():
81
82
for name , level in trace_internal_log_levels .items ():
82
83
logging .getLogger (name ).setLevel (level )
83
84
85
+ raw_logging_override = config .LOG_LEVEL_OVERRIDES
86
+ if raw_logging_override :
87
+ logging_overrides = key_value_pairs_to_dict (raw_logging_override )
88
+ for logger , level_name in logging_overrides .items ():
89
+ level = getattr (logging , level_name , None )
90
+ if not level :
91
+ raise ValueError (
92
+ f"Failed to configure logging overrides ({ raw_logging_override } ): '{ level_name } ' is not a valid log level"
93
+ )
94
+ logging .getLogger (logger ).setLevel (level )
95
+
84
96
85
97
def create_default_handler (log_level : int ):
86
98
log_handler = logging .StreamHandler (stream = sys .stderr )
You can’t perform that action at this time.
0 commit comments