def test_basic_critical(): reset_unittests() x = get_logger() x.critical("foo") assert UNIT_TESTS_STDOUT == [] _test_stdxxx(UNIT_TESTS_STDERR, "CRITICAL", "foo") _test_json("CRITICAL", "foo")
def test_basic_error(): reset_unittests() x = get_logger() x.error("foo") assert UNIT_TESTS_STDOUT == [] _test_stdxxx(UNIT_TESTS_STDERR, "ERROR", "foo") _test_json("ERROR", "foo")
def test_basic_log(): reset_unittests() x = get_logger() x.log(logging.WARNING, "foo") assert UNIT_TESTS_STDOUT == [] _test_stdxxx(UNIT_TESTS_STDERR, "WARNING", "foo") _test_json("WARNING", "foo")
def test_basic_info(): reset_unittests() x = get_logger() x.info("foo") assert UNIT_TESTS_STDERR == [] assert UNIT_TESTS_JSON == [] _test_stdxxx(UNIT_TESTS_STDOUT, "INFO", "foo")
def test_logging1(): reset_unittests() x = logging.getLogger("foo.bar") x.warning("foo%s", "bar") assert UNIT_TESTS_STDOUT == [] _test_stdxxx(UNIT_TESTS_STDERR, "WARNING", "foobar") _test_json("WARNING", "foobar")
def test_template_info(): reset_unittests() x = get_logger() x.info("foo%s", "bar") assert UNIT_TESTS_STDERR == [] assert UNIT_TESTS_JSON == [] _test_stdxxx(UNIT_TESTS_STDOUT, "INFO", "foobar")
def test_empty_call2(): reset_unittests() x = get_logger() x.info(None) assert UNIT_TESTS_STDERR == [] assert UNIT_TESTS_JSON == [] _test_stdxxx(UNIT_TESTS_STDOUT, "INFO", "None")
def test_logging4(): reset_unittests() x = logging.getLogger() x.info("foo %(u)s", {"u": "bar"}) assert UNIT_TESTS_STDERR == [] assert UNIT_TESTS_JSON == [] _test_stdxxx(UNIT_TESTS_STDOUT, "INFO", "foo bar")
def test_basic_debug(): reset_unittests() x = get_logger() x.debug("foo") assert UNIT_TESTS_STDERR == [] assert UNIT_TESTS_JSON == [] assert UNIT_TESTS_STDOUT == []
def test_logger_name(): reset_unittests() x = get_logger("foo.bar") x.info("test") assert UNIT_TESTS_STDERR == [] assert UNIT_TESTS_JSON == [] _test_stdxxx(UNIT_TESTS_STDOUT, "INFO", "test") assert "foo.bar" in UNIT_TESTS_STDOUT[0]
def test_logging5(): reset_unittests() set_config(standard_logging_redirect=False) x = logging.getLogger() x.info("foobar") assert UNIT_TESTS_STDERR == [] assert UNIT_TESTS_JSON == [] assert UNIT_TESTS_STDOUT == []
def test_json_only_keys1(): reset_unittests() set_config(json_only_keys=["extra_context_key1", "extra_context_key2"]) x = get_logger("foo.bar") x = x.bind(k1=1, k2="bar") x.info("foo", k1=2, k3=2) assert UNIT_TESTS_STDERR == [] assert UNIT_TESTS_JSON == [] _test_stdxxx(UNIT_TESTS_STDOUT, "INFO", "foo", "{k1=2 k2=bar k3=2}")
def test_bytes(): reset_unittests() x = get_logger() x.warning(b"foo", k1=1, k2=b"bar") assert UNIT_TESTS_STDOUT == [] _test_stdxxx(UNIT_TESTS_STDERR, "WARNING", "foo", "{k1=1 k2=bar}") tmp = _test_json("WARNING", "foo") assert tmp['k1'] == 1 assert tmp['k2'] == 'bar'
def test_utf8(): reset_unittests() x = get_logger() x.warning(u"fooééé", k1=1, k2=u"barààà") assert UNIT_TESTS_STDOUT == [] _test_stdxxx(UNIT_TESTS_STDERR, "WARNING", u"fooééé", u"{k1=1 k2=barààà}") tmp = _test_json("WARNING", u"fooééé") assert tmp['k1'] == 1 assert tmp['k2'] == u'barààà'
def test_json_only_keys2(): reset_unittests() os.environ["MFLOG_JSON_ONLY_KEYS"] = \ "extra_context_key1,extra_context_key2" x = get_logger("foo.bar") x = x.bind(k1=1, k2="bar") x.info("foo", k1=2, k3=2) assert UNIT_TESTS_STDERR == [] assert UNIT_TESTS_JSON == [] _test_stdxxx(UNIT_TESTS_STDOUT, "INFO", "foo", "{k1=2 k2=bar k3=2}")
def test_override_dict(): reset_unittests() add_override("foo2.*", "CRITICAL") x = get_logger("foo.bar") y = get_logger("foo2.bar") x.warning("foo") y.warning("foo2") assert UNIT_TESTS_STDOUT == [] _test_stdxxx(UNIT_TESTS_STDERR, "WARNING", "foo") _test_json("WARNING", "foo") add_override("foo.*", None)
def test_bind(): reset_unittests() x = get_logger("foo.bar") x = x.bind(k1=1) x = x.bind(k2='bar') x.warning("foo") assert UNIT_TESTS_STDOUT == [] _test_stdxxx(UNIT_TESTS_STDERR, "WARNING", "foo", "{k1=1 k2=bar}") tmp = _test_json("WARNING", "foo") assert tmp['k1'] == 1 assert tmp['k2'] == 'bar'
def test_extra_context2(): reset_unittests() os.environ["MFLOG_EXTRA_CONTEXT_FUNC"] = "mflog.unittests.extra_context" x = get_logger("foo.bar") x = x.bind(k1=1, k2="bar") x.info("foo", k1=2, k3=2) assert UNIT_TESTS_STDERR == [] assert UNIT_TESTS_JSON == [] _test_stdxxx( UNIT_TESTS_STDOUT, "INFO", "foo", "{extra_context_key1=extra_context_value1 " "extra_context_key2=extra_context_value2 k1=2 k2=bar k3=2}")
def test_extra_context(): reset_unittests() set_config(extra_context_func=extra_context) x = get_logger("foo.bar") x = x.bind(k1=1, k2="bar") x.info("foo", k1=2, k3=2) assert UNIT_TESTS_STDERR == [] assert UNIT_TESTS_JSON == [] _test_stdxxx( UNIT_TESTS_STDOUT, "INFO", "foo", "{extra_context_key1=extra_context_value1 " "extra_context_key2=extra_context_value2 k1=2 k2=bar k3=2}")
def test_basic_exception(): reset_unittests() x = get_logger() try: 1 / 0 except Exception: x.exception("foo") assert UNIT_TESTS_STDOUT == [] _test_stdxxx(UNIT_TESTS_STDERR, "ERROR", "foo") tmp = _test_json("ERROR", "foo") assert len(tmp['exception']) > 10 assert tmp['exception_type'] == 'ZeroDivisionError' assert tmp['exception_file'] == __file__
def test_issue3(): reset_unittests() x = get_logger() try: 1 / 0 except Exception as e: x.exception(e) assert UNIT_TESTS_STDOUT == [] if six.PY2: _test_stdxxx(UNIT_TESTS_STDERR, "ERROR", "integer division or modulo by zero") tmp = _test_json("ERROR", "integer division or modulo by zero") else: _test_stdxxx(UNIT_TESTS_STDERR, "ERROR", "division by zero") tmp = _test_json("ERROR", "division by zero") assert len(tmp['exception']) > 10 assert tmp['exception_type'] == 'ZeroDivisionError' assert tmp['exception_file'] == __file__
def test_is_enabled_for(): reset_unittests() x = get_logger("foo.bar") assert x.isEnabledFor(40) assert x.getEffectiveLevel() == 20 reset_unittests()