def METHOD_NAME():
    critical = [
        TypeError("Example TypeError"),
        StatementError(message="?", statement="SELECT *", params={}, orig=None),
        StatementError(
            message="?",
            statement="SELECT *",
            params={},
            orig=_mysql_exceptions.OperationalError(
                "(_mysql_exceptions.OperationalError) Incorrect string value "
                "'\\xE7\\x(a\\x84\\xE5'"
            ),
        ),
        _mysql_exceptions.OperationalError(
            "(_mysql_exceptions.OperationalError) Incorrect string value "
            "'\\xE7\\x(a\\x84\\xE5'"
        ),
        _mysql_exceptions.IntegrityError(
            "(_mysql_exceptions.IntegrityError) Column not found"
        ),
    ]
    for critical_exc in critical:
        logger = MockLogger()
        failing_function = FailingFunction(critical_exc, max_executions=2)
        retry_with_logging(failing_function, logger=logger)
        assert logger.call_count == 1, f"{critical_exc} should be logged"
        assert failing_function.call_count == 2