示例#1
0
def test_with_json_message(root_logger, logger, stdout):
    setup("DEBUG", another="value")

    msg = {"x": "isx"}
    logger.critical(json.dumps(msg))

    log_dict = json.loads(stdout.getvalue())

    assert msg == log_dict["message"]
示例#2
0
def test_logging_exception_traceback(root_logger, logger, stdout):
    setup("DEBUG", request_id="request id!", another="value")

    try:
        raise Exception("Boom")
    except Exception:
        logger.exception("This is a test")

    log_dict = json.loads(stdout.getvalue())

    check_log_dict(log_dict)
    assert "exception" in log_dict
示例#3
0
def test_with_unserialisable_value_in_message(root_logger, logger, stdout):
    setup("DEBUG", another="value")

    class X:
        pass

    msg = {"x": X()}
    logger.critical(msg)

    log_dict = json.loads(stdout.getvalue())

    assert log_dict["message"]["x"].startswith("<")
示例#4
0
def test_setup_with_valid_log_levels(root_logger, logger, stdout, level):
    setup(level, request_id="request id!", another="value")

    logger.critical("This is a test")

    log_dict = json.loads(stdout.getvalue())

    check_log_dict(log_dict)

    assert "CRITICAL" == log_dict["level"]
    assert "This is a test" == log_dict["message"]
    assert "request id!" == log_dict["request_id"]
    assert "exception" not in log_dict
示例#5
0
def test_setup_with_bad_level_does_not_fail():
    setup("DBGG", request_id="request id!", another="value")
示例#6
0
def test_setup_with_invalid_log_level(root_logger, logger, stdout):
    setup("not a valid log level")  # writes a log event

    log_dict = json.loads(stdout.getvalue())

    check_log_dict(log_dict)