def test_context(): with tagged_logger.context(ta(user="******", ip="127.0.0.1")): tagged_logger.log("{user} is from {ip}") tagged_logger.log("random message") record = tagged_logger.get_latest(user="******") assert set(record.tags) == set(["user:foo", "ip:127.0.0.1"]) assert record.attrs == {"user": "******", "ip": "127.0.0.1"}
def test_expire_integer(): """ expire parameter can be an integer """ tagged_logger.log("+1 second", ts=datetime.datetime(2012, 1, 1), expire=1) record = tagged_logger.get_latest() assert record.expire == pytz.utc.localize(datetime.datetime(2012, 1, 1, 0, 0, 1))
def test_expire_timedelta(): """ expire parameter can be a timedelta """ tagged_logger.log("+1 second", ts=datetime.datetime(2012, 1, 1), expire=datetime.timedelta(seconds=1)) record = tagged_logger.get_latest() assert record.expire == pytz.utc.localize(datetime.datetime(2012, 1, 1, 0, 0, 1))
def test_manual_injection(): tagged_logger.add_tagging_attrs(ta(user="******"), ip="127.0.0.1") tagged_logger.log("{user} is from {ip}") tagged_logger.rm_tagging_attrs(ta(user="******"), ip="127.0.0.1") tagged_logger.log("random message") record = tagged_logger.get_latest(user="******") assert set(record.tags) == set(["user:foo", "ip:127.0.0.1"]) assert record.attrs == {"user": "******", "ip": "127.0.0.1"}
def test_context_attrs_dict(): """ dictionary log message can be extended with attributes """ with tagged_logger.context(remote_addr='127.0.0.1'): tagged_logger.log('foo bar') record = tagged_logger.get_latest() assert record.message == 'foo bar' assert record.attrs['remote_addr'] == '127.0.0.1' assert record.message == 'foo bar'
def test_implicit_timestamps(): ts = datetime.datetime(2012, 1, 1, tzinfo=pytz.utc) tagged_logger.log('random action', ts=ts) record = tagged_logger.get_latest() assert record.ts == ts
def test_message_stores_tags(): tagged_logger.log('foo created', tags=['foo',]) record = tagged_logger.get_latest() assert record.tags == ['foo', ]
def test_attrs_interpolate_message(): tagged_logger.log('{user} logged in', user='******') record = tagged_logger.get_latest() assert str(record) == 'foo logged in'
def test_attrs_with_message(): tagged_logger.log('user logged in', user_name='foo') record = tagged_logger.get_latest() assert record.message == 'user logged in' assert record.attrs['user_name'] == 'foo'
def test_attrs(): tagged_logger.log('sample message', foo='bar') record = tagged_logger.get_latest() assert record.attrs['foo'] == 'bar'
def test_extra_arguments(): tagged_logger.log('{user}', user='******', user_email='*****@*****.**') record = tagged_logger.get_latest() assert str(record) == 'foo ([email protected])'
def test_missing_arguments(): tagged_logger.log('{user} {ip}', user='******') record = tagged_logger.get_latest() assert str(record) == 'foo (undefined)'
def test_context_rm_attrs(): tagged_logger.add_attrs(remote_addr='127.0.0.1') tagged_logger.rm_attrs('remote_addr', 'baz') tagged_logger.log('sample message') record = tagged_logger.get_latest() assert record.attrs == {}