123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import logging
- import logging.config
- import os
- import string
- import io
- LOG = logging.getLogger(__name__)
- BASH = '/bin/bash'
- # This is used by some programs in falcon_kit/mains.
- simple_logging_config = """
- [loggers]
- keys=root
- [handlers]
- keys=stream
- [formatters]
- keys=form01,form02
- [logger_root]
- level=NOTSET
- handlers=stream
- [handler_stream]
- class=StreamHandler
- level=${FALCON_LOG_LEVEL}
- formatter=form01
- args=(sys.stderr,)
- [formatter_form01]
- format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
- [formatter_form02]
- format=[%(levelname)s]%(message)s
- """
- def setup_simple_logging(FALCON_LOG_LEVEL='DEBUG', **ignored):
- cfg = string.Template(simple_logging_config).substitute(FALCON_LOG_LEVEL=FALCON_LOG_LEVEL)
- logger_fileobj = io.StringIO(cfg)
- defaults = {}
- logging.config.fileConfig(logger_fileobj, defaults=defaults, disable_existing_loggers=False)
- def run_bash(script_fn):
- # Assume script was written by this program, so we know it is
- # available in the filesystem.
- # However, we cannot be sure that the execute permission is set,
- # so run it as a script.
- cmd = '{} -vex {}'.format(BASH, script_fn)
- LOG.info('!{}'.format(cmd))
- rc = os.system(cmd)
- if rc:
- raise Exception('{} <- {!r}'.format(rc, cmd))
|