import os import yaml import logging.config import logging import coloredlogs LOGGING_PATH=os.path.dirname(os.path.abspath(__file__)) def setup_logging(default_path='{}/logging.yaml'.format(LOGGING_PATH), default_level=logging.INFO, env_key='LOG_CFG'): path = default_path value = os.getenv(env_key, None) if value: path = value if os.path.exists(path): with open(path, 'rt') as f: try: config = yaml.safe_load(f.read()) logging.config.dictConfig(config) coloredlogs.install() except Exception as e: print(e) print('Error in Logging Configuration. Using default configs') logging.basicConfig(level=default_level) coloredlogs.install(level=default_level) else: logging.basicConfig(level=default_level) coloredlogs.install(level=default_level) print('Failed to load configuration file. Using default configs')