Exemplo n.º 1
0
def test_configure_twice(config):
    handlers = logging.getLogger().handlers
    logs.configure(config)
    before = len([h for h in handlers if hasattr(h, '_talisker_handler')])
    logs.configure(config)
    after = len([h for h in handlers if hasattr(h, '_talisker_handler')])
    assert before == after
Exemplo n.º 2
0
def test_configure_twice(config):
    logs.configure(config)
    logs.configure(config)
    handlers = logging.getLogger().handlers
    talisker_handlers = [h for h in handlers
                         if hasattr(h, '_talisker_handler')]
    assert len(talisker_handlers) == 2  # root and sentry
Exemplo n.º 3
0
def test_configure_twice(config):
    handlers = logging.getLogger().handlers
    logs.configure(config)
    before = len([h for h in handlers if hasattr(h, '_talisker_handler')])
    logs.configure(config)
    after = len([h for h in handlers if hasattr(h, '_talisker_handler')])
    assert before == after
Exemplo n.º 4
0
def test_configure_debug_log_bad_file(config, log):
    config['debuglog'] = '/nopenopenope'
    logs.configure(config)
    assert_record_logged(log,
                         msg='could not',
                         logger='talisker.logs',
                         level='INFO',
                         extra={'path': '/nopenopenope'})
Exemplo n.º 5
0
def test_configure_debug_log_bad_file(config, context):
    config['DEBUGLOG'] = '/nopenopenope'
    logs.configure(config)
    context.assert_log(
        msg='could not',
        name='talisker.logs',
        level='INFO',
        extra={'path': '/nopenopenope'},
    )
Exemplo n.º 6
0
def test_configure_debug_log_bad_file(config, context):
    config['debuglog'] = '/nopenopenope'
    logs.configure(config)
    assert context.logs.exists(
        msg='could not',
        name='talisker.logs',
        level='INFO',
        extra={'path': '/nopenopenope'},
    )
Exemplo n.º 7
0
def test_configure_debug_log_bad_file(config, context):
    config['DEBUGLOG'] = '/nopenopenope'
    logs.configure(config)
    context.assert_log(
        msg='could not',
        name='talisker.logs',
        level='INFO',
        extra={'path': '/nopenopenope'},
    )
Exemplo n.º 8
0
def test_configure(config, capsys):
    logs.configure(config)
    assert not isinstance(logs.get_talisker_handler().formatter,
                          logs.ColouredFormatter)
    logger = logging.getLogger('test')
    logger.info('test msg')
    out, err = capsys.readouterr()
    assert out == ""
    assert err, "No stderr output"
    assert_output_includes_message(err, 'INFO test "test msg"')
Exemplo n.º 9
0
def test_configure(config, capsys):
    logs.configure(config)
    assert not isinstance(
        logs.get_talisker_handler().formatter, logs.ColouredFormatter)
    logger = logging.getLogger('test')
    logger.info('test msg')
    out, err = capsys.readouterr()
    assert out == ""
    assert err, "No stderr output"
    assert_output_includes_message(err, 'INFO test "test msg"')
Exemplo n.º 10
0
def test_configure_debug_log_bad_file(capsys):
    logs.configure(debug='/nopenopenope')
    out, err = capsys.readouterr()
    assert out == ""
    assert err
    timestamp, level, name, msg, structured = parse_logfmt(err)
    assert level == 'INFO'
    assert name == 'talisker.logs'
    assert 'could not' in msg
    assert structured['path'] == '/nopenopenope'
Exemplo n.º 11
0
def test_configure_debug_log(config, log):
    tmp = tempfile.mkdtemp()
    logfile = os.path.join(tmp, 'log')
    config['debuglog'] = logfile
    logs.configure(config)
    assert_record_logged(log,
                         msg='enabling',
                         logger='talisker.logs',
                         level='INFO',
                         extra={'path': logfile})
Exemplo n.º 12
0
def test_configure_debug_log(config, context):
    tmp = tempfile.mkdtemp()
    logfile = os.path.join(tmp, 'log')
    config['DEBUGLOG'] = logfile
    logs.configure(config)
    context.assert_log(
        msg='enabling',
        name='talisker.logs',
        level='INFO',
        extra={'path': logfile},
    )
Exemplo n.º 13
0
def test_configure_debug_log(config, context):
    tmp = tempfile.mkdtemp()
    logfile = os.path.join(tmp, 'log')
    config['DEBUGLOG'] = logfile
    logs.configure(config)
    context.assert_log(
        msg='enabling',
        name='talisker.logs',
        level='INFO',
        extra={'path': logfile},
    )
Exemplo n.º 14
0
def test_configure_debug_log(capsys):
    tmp = tempfile.mkdtemp()
    logfile = os.path.join(tmp, 'log')
    logs.configure(debug=logfile)
    out, err = capsys.readouterr()
    assert out == ""
    assert err
    timestamp, level, name, msg, structured = parse_logfmt(err)
    assert level == 'INFO'
    assert name == 'talisker.logs'
    assert 'enabling' in msg
    assert structured['path'] == logfile
Exemplo n.º 15
0
def test_configure(capsys):
    logs.configure(logging.INFO, tags=dict(foo='bar baz'))
    logger = logging.getLogger('test')
    logger.info('test msg')
    out, err = capsys.readouterr()
    assert out == ""
    assert err
    timestamp, level, name, msg, structured = parse_logfmt(err)
    assert level == 'INFO'
    assert name == 'test'
    assert msg == 'test msg'
    assert structured['foo'] == 'bar baz'
Exemplo n.º 16
0
def run():
    # these must be done before importing celery.
    logs.configure()
    os.environ['CELERYD_HIJACK_ROOT_LOGGER'] = 'False'
    os.environ['CELERYD_REDIRECT_STDOUTS'] = 'False'

    from celery.__main__ import main
    from celery.signals import setup_logging

    # take control of this signal, which prevents celery from setting up it's
    # own logging
    @setup_logging.connect
    def setup_celery_logging(**kwargs):
        # TODO: maybe add process id to extra?
        pass  # pragma: no cover

    enable_metrics()
    main()
Exemplo n.º 17
0
def run():
    os.environ['CELERYD_HIJACK_ROOT_LOGGER'] = 'false'
    from celery.__main__ import main
    logs.configure()
    main()
Exemplo n.º 18
0
def test_configure_coloured(config, monkeypatch):
    config['TALISKER_COLOUR'] = 'default'
    config['DEVEL'] = True
    logs.configure(config)
    assert isinstance(
        logs.get_talisker_handler().formatter, logs.ColouredFormatter)
Exemplo n.º 19
0
def test_configure_twice():
    logs.configure()
    logs.configure()
    assert len(logging.getLogger().handlers) == 1
Exemplo n.º 20
0
def test_configure_coloured(config, monkeypatch):
    config['TALISKER_COLOUR'] = 'default'
    config['DEVEL'] = True
    logs.configure(config)
    assert isinstance(logs.get_talisker_handler().formatter,
                      logs.ColouredFormatter)
Exemplo n.º 21
0
def test_configure_colored(config, log, monkeypatch):
    config['color'] = 'default'
    logs.configure(config)
    assert isinstance(logs.get_talisker_handler().formatter,
                      logs.ColoredFormatter)