Skip to content

Instantly share code, notes, and snippets.

@jamesbursa
Created March 8, 2023 17:24
Show Gist options
  • Save jamesbursa/a784eb31fd7805d4e01388b30909b234 to your computer and use it in GitHub Desktop.
Save jamesbursa/a784eb31fd7805d4e01388b30909b234 to your computer and use it in GitHub Desktop.
Override logging levels
def override_logging_levels():
"""Override default logging levels using settings in LOGGING_LEVEL environment variable.
The format is "name1=level,name2=level". For example:
LOGGING_LEVEL="requests=DEBUG,sqlalchemy=INFO"
"""
for override in os.environ.get("LOGGING_LEVEL", "").split(","):
if "=" not in override:
continue
logger_name, _separator, logging_level = override.partition("=")
set_logging_level(logger_name, logging_level)
def set_logging_level(logger_name: str, logging_level: str) -> None:
"""Set the logging level for the given logger."""
logger.info("set level for %s to %s", logger_name, logging_level)
logging.getLogger(logger_name).setLevel(logging_level)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment