import logging import os from pathlib import Path ## Get log level and file from environment if possible env_log_level = os.environ.get("LOG_LEVEL", "INFO").upper() try: env_log_file = Path(os.environ.get("LOG_FILE")).expanduser().resolve() except TypeError: env_log_file = None ## Make sure the level from the environment is valid try: log_level = getattr(logging, env_log_level) except AttributeError: log_level = logging.INFO ## Set logging config handlers = [logging.StreamHandler()] if env_log_file: handlers.append(logging.FileHandler(env_log_file)) logging.basicConfig( level=log_level, format="[%(asctime)s] %(levelname)s: %(message)s", handlers=handlers, )