Пример #1
0
def configure_logging(cfg, spec):
    """
    Configure logging using properties file

    :type  cfg: :class:`configparser.SafeConfigParser`
    :param cfg: Provider configuration
    :type  spec: :class:`str`
    :param spec: Provider configuration file name. Need this for Python versions
        older than 3.4
    """
    if config.Sections.LOGGERS in cfg.sections():
        major, minor, _, _, _ = sys.version_info
        if major == 3 and minor >= 4:
            logging.config.fileConfig(cfg, disable_existing_loggers=False)
        else:
            # SafeConfigParser instance is not accepted in fileConfig in
            # versions older than 3.4 and hence need to pass filename
            logging.config.fileConfig(spec, disable_existing_loggers=False)
    else:
        configure_default_logging = True
        if config.Sections.LOGGING in cfg.sections():
            default = cfg.get(config.Sections.LOGGING, 'default')
            if default.lower() == 'false':
                configure_default_logging = False
        if configure_default_logging:
            handler = logging.StreamHandler(sys.stdout)
            handler.setLevel(logging.INFO)
            # TODO Add opId to default format once we know it is working well
            formatter = logging.Formatter(
                '%(asctime)s %(levelname)-8s %(name)-15s %(message)s')
            handler.setFormatter(formatter)

            # Configure the root logger
            root_logger = logging.getLogger()
            root_logger.setLevel(logging.INFO)
            root_logger.addHandler(handler)
    global logger
    logger = get_vapi_logger('vmware.vapi.server.vapid')
Пример #2
0
"""
Privilege Validator interface
"""

__author__ = 'VMware, Inc.'
__copyright__ = 'Copyright 2018 VMware, Inc.  All rights reserved. -- VMware Confidential'  # pylint: disable=line-too-long

from vmware.vapi.lib.log import get_vapi_logger

# Configure logging
logger = get_vapi_logger(__name__)


class PrivilegeValidator(object):
    """
    Interface for Privilege Validation
    """
    def validate(self, user_identity, required_privileges):
        """
        Validate the privileges required for a given user identity
        """
        raise NotImplementedError

    def __hash__(self):
        return str(self).__hash__()


# Privilege Validator instance
_privilege_validator = None