docs: def read_config(cls):
  		""" Setup :attr:`wasp_launcher.apps.WAppsGlobals.log` configuration. Reads defaults and
  		override it by a file given via :attr:`WConfigApp.__environment_file_var__` environment variable.
  		After that configuration files are applied from :attr:`WConfigApp.__environment_dir_var__`
  
  		:return: None
  		"""
  		WAppsGlobals.config = WConfig()
  
  		def load(filename):
  			if os.path.isfile(filename) is False:
  				raise RuntimeError("Invalid configuration: '%s'" % filename)
  			WAppsGlobals.config.merge(filename)
  			WAppsGlobals.log.info('Configuration loaded from file: %s' % os.path.abspath(filename))
  
  		load(cls.__configuration_default__)
  
  		if cls.__environment_file_var__ in os.environ:
  			WAppsGlobals.log.info('Variable %s was set' % cls.__environment_file_var__)
  			load(os.environ[cls.__environment_file_var__])
  
  		if cls.__environment_dir_var__ in os.environ:
  			WAppsGlobals.log.info('Variable %s was set' % cls.__environment_dir_var__)
  			config_dir = os.environ[cls.__environment_dir_var__]
  			if os.path.isdir(config_dir) is False:
  				WAppsGlobals.log.error(
  					'Invalid configuration directory was specified: "%s"' % config_dir
  				)
  
  			entries = list(os.listdir(config_dir))
  			entries.sort()
  			for entry in entries:
  				config_file = os.path.join(config_dir, entry)
  				if os.path.isfile(config_file) is False:
  					WAppsGlobals.log.error(
  						'Invalid configuration "%s" in the directory "%s"' %
  						(config_file, config_dir)
  					)
  					continue
  
  				load(config_file)