Skip to content
Snippets Groups Projects
environment.py 1.02 KiB
import logging
import os
import sys
from inventory_provider import constants


def _level_from_env(var_name, default_level=logging.INFO):
    level_str = os.getenv(var_name, logging.getLevelName(default_level))
    numeric_level = getattr(logging, level_str.upper(), default_level)
    logging.debug('setting %s logging level to %s'
                  % (var_name, logging.getLevelName(numeric_level)))
    return numeric_level


def setup_logging():
    logging.basicConfig(
        stream=sys.stderr,
        level=_level_from_env('DEFAULT_LOGGING', logging.INFO))
    logging.getLogger(constants.SNMP_LOGGER_NAME).setLevel(
        _level_from_env('SNMP_LOGGING', logging.INFO))
    logging.getLogger(constants.TASK_LOGGER_NAME).setLevel(
        _level_from_env('TASK_LOGGING', logging.INFO))
    logging.getLogger(constants.JUNIPER_LOGGER_NAME).setLevel(
        _level_from_env('JUNIPER_LOGGING', logging.INFO))
    logging.getLogger(constants.DATABASE_LOGGER_NAME).setLevel(
        _level_from_env('DATABASE_LOGGING', logging.INFO))