'Retrieve the value associated with the specified logical_name
from the environment or the config file.  Values found in the
environment variable take precedence of values found in the
config file.  If no value can be found, a None will be returned.
:type logical_name: str
:param logical_name: The logical name of the session variable
you want to retrieve.  This name will be mapped to the
appropriate environment variable name for this session as
well as the appropriate config file entry.
:type method: tuple
:param method: Defines which methods will be used to find
the variable value.  By default, all available methods
are tried but you can limit which methods are used
by supplying a different value to this parameter.
Valid choices are: instance|env|config
:returns: value of variable or None if not defined.'

def get_config_variable(self, logical_name, methods=('instance', 'env', 'config')):

    if (logical_name not in self.session_var_map):
        return
    value = None
    var_config = self.session_var_map[logical_name]
    if self._found_in_instance_vars(methods, logical_name):
        return self._session_instance_vars[logical_name]
    elif self._found_in_env(methods, var_config):
        value = self._retrieve_from_env(var_config[1], os.environ)
    elif self._found_in_config_file(methods, var_config):
        value = self.get_scoped_config()[var_config[0]]
    if (value is None):
        value = var_config[2]
    if (var_config[3] is not None):
        value = var_config[3](value)
    return value
