def setup_logging(config_uri): """Include-aware Python logging setup from INI config file. """ path, _ = _getpathsec(config_uri, None) parser = IncludeAwareConfigParser() parser.read([path]) if parser.has_section('loggers'): config_file = os.path.abspath(path) defaults = dict(parser, here=os.path.dirname(config_file)) return fileConfig(parser, defaults)
def setup_logging(config_uri, global_conf=None, fileConfig=fileConfig, configparser=configparser): """ Set up logging via the logging module's fileConfig function with the filename specified via ``config_uri`` (a string in the form ``filename#sectionname``). ConfigParser defaults are specified for the special ``__file__`` and ``here`` variables, similar to PasteDeploy config loading. """ from pyramid.paster import _getpathsec path, _ = _getpathsec(config_uri, None) parser = IncludeAwareConfigParser() parser.read([path]) if parser.has_section('loggers'): config_file = os.path.abspath(path) return fileConfig(parser, dict(__file__=config_file, here=os.path.dirname(config_file)), disable_existing_loggers=False)
def get_appsettings(config_uri, name=None, options=None): path, section = _getpathsec(config_uri, name) config_name = 'config:%s' % path here_dir = os.getcwd() return appconfig(config_name, name=section, relative_to=here_dir, global_conf=options)