예제 #1
0
def test_formats(fmt):
    basic_config(level='debug', log_format=fmt, buffered=False)

    logging.error("test")
    logging.info("foo %r", None)
    logging.debug({"foo": [None, 1]})

    try:
        raise Exception
    except:
        logging.exception("Error")
예제 #2
0
def test_configure_logging_stderr(capsys):
    data = str(uuid.uuid4())

    basic_config(level=logging.DEBUG, log_format='stream', buffered=False)

    logging.info(data)

    stdout, stderr = capsys.readouterr()

    assert data in stderr

    logging.basicConfig(handlers=[])
예제 #3
0
def main():
    basic_config(
        level=arguments.log_level.upper(),
        buffered=False,
        log_format=arguments.log_format,
    )

    start_http_server(addr=arguments.host_address, port=arguments.port)
    collector = SslExporter(arguments.cert_paths)
    REGISTRY.register(collector)
    while True:
        time.sleep(1)
예제 #4
0
def main():
    arguments = parser.parse_args()
    basic_config(
        level=arguments.log_level,
        log_format=arguments.log_format,
        buffered=False,
        date_format=None,
    )

    try:
        process(arguments)
    except FormattingError as e:
        exit(e.exit_code)
예제 #5
0
def test_configure_logging_json(capsys):
    capsys.readouterr()

    data = str(uuid.uuid4())

    basic_config(level='debug', log_format='json', buffered=False)
    logging.info(data)

    stdout, stderr = capsys.readouterr()

    json_result = json.loads(stdout.strip())
    assert json_result['msg'] == data

    logging.basicConfig(handlers=[], level=logging.INFO)
예제 #6
0
def main():
    client = docker.APIClient(base_url='unix://var/run/docker.sock')
    basic_config(
        level=arguments.log_level.upper(),
        buffered=False,
        log_format=arguments.log_format
    )
    while True:
        for container in client.containers(filters=label_filter()):
            container_inspect_info = client.inspect_container(container['Id'])
            if container_need_heal(container_inspect_info, container['Names']):
                log.warning('{} {}'.format('Healing', container['Names']))
                container_restart(client, container)
        time.sleep(arguments.check_interval)
예제 #7
0
def test_buferred(capsys):
    capsys.readouterr()

    data = str(uuid.uuid4())

    basic_config(level='debug', log_format='json',
                 buffered=True, buffer_size=10)

    logging.info("0 %r", data)
    stdout, stderr = capsys.readouterr()
    assert not stdout

    logging.getLogger().handlers[0].flush()

    stdout, stderr = capsys.readouterr()

    assert data in stdout