def global_config(args): """ Set the configuration file """ if hasattr(args, "config"): filename = args.config else: try: filename = os.environ["BARMAN_CONFIG_FILE"] except KeyError: filename = None config = barman.config.Config(filename) barman.__config__ = config # change user if needed try: drop_privileges(config.user) except OSError: msg = "ERROR: please run barman as %r user" % config.user raise SystemExit(msg) except KeyError: msg = "ERROR: the configured user %r does not exists" % config.user raise SystemExit(msg) # configure logging if hasattr(args, "log_level"): config.log_level = args.log_level log_level = parse_log_level(config.log_level) configure_logging(config.log_file, log_level or barman.config.DEFAULT_LOG_LEVEL, config.log_format) if log_level is None: _logger.warning("unknown log_level in config file: %s", config.log_level) # Configure output if args.format != output.DEFAULT_WRITER or args.quiet or args.debug: output.set_output_writer(args.format, quiet=args.quiet, debug=args.debug) # Configure color output if args.color == "auto": # Enable colored output if both stdout and stderr are TTYs output.ansi_colors_enabled = sys.stdout.isatty() and sys.stderr.isatty( ) else: output.ansi_colors_enabled = args.color == "always" # Load additional configuration files config.load_configuration_files_directory() # We must validate the configuration here in order to have # both output and logging configured config.validate_global_config() _logger.debug( "Initialised Barman version %s (config: %s, args: %s)", barman.__version__, config.config_file, pretty_args(args), )
def global_config(args): """ Set the configuration file """ if hasattr(args, 'config'): filename = args.config else: try: filename = os.environ['BARMAN_CONFIG_FILE'] except KeyError: filename = None config = barman.config.Config(filename) barman.__config__ = config # change user if needed try: drop_privileges(config.user) except OSError: msg = "ERROR: please run barman as %r user" % config.user raise SystemExit(msg) except KeyError: msg = "ERROR: the configured user %r does not exists" % config.user raise SystemExit(msg) # configure logging log_level = parse_log_level(config.log_level) configure_logging(config.log_file, log_level or barman.config.DEFAULT_LOG_LEVEL, config.log_format) if log_level is None: _logger.warn('unknown log_level in config file: %s', config.log_level) # configure output if args.format != output.DEFAULT_WRITER or args.quiet or args.debug: output.set_output_writer(args.format, quiet=args.quiet, debug=args.debug) # Load additional configuration files _logger.debug('Loading additional configuration files') config.load_configuration_files_directory() # We must validate the configuration here in order to have # both output and logging configured config.validate_global_config() _logger.debug('Initialized Barman version %s (config: %s)', barman.__version__, config.config_file) if hasattr(args, 'quiet') and args.quiet: _logger.debug("Replacing output stream") global _output_stream _output_stream.set_stream(open(os.devnull, 'w'))
def global_config(args): """ Set the configuration file """ if hasattr(args, 'config'): filename = args.config else: try: filename = os.environ['BARMAN_CONFIG_FILE'] except KeyError: filename = None config = barman.config.Config(filename) barman.__config__ = config # change user if needed try: drop_privileges(config.user) except OSError: msg = "ERROR: please run barman as %r user" % config.user raise SystemExit(msg) except KeyError: msg = "ERROR: the configured user %r does not exists" % config.user raise SystemExit(msg) # configure logging log_level = parse_log_level(config.log_level) configure_logging(config.log_file, log_level or barman.config.DEFAULT_LOG_LEVEL, config.log_format) if log_level is None: _logger.warn('unknown log_level in config file: %s', config.log_level) # configure output if args.format != output.DEFAULT_WRITER or args.quiet or args.debug: output.set_output_writer(args.format, quiet=args.quiet, debug=args.debug) # Load additional configuration files config.load_configuration_files_directory() # We must validate the configuration here in order to have # both output and logging configured config.validate_global_config() _logger.debug('Initialised Barman version %s (config: %s, args: %s)', barman.__version__, config.config_file, pretty_args(args))