def METHOD_NAME(cls, path):
    from apistub import ApiView
    pkg_name = os.path.split(path)[-1]
    rcfile_path = os.path.join(ApiView.get_root_path(), "pylintrc")
    logging.debug(f"APIView root path: {ApiView.get_root_path()}")
    (pylint_stdout, pylint_stderr) = epylint.py_run(f"{path} -f json --recursive=y --rcfile {rcfile_path}", return_std=True)
    stderr_str = pylint_stderr.read()
    # strip put stray, non-json lines from stdout
    stdout_lines = [x for x in pylint_stdout.readlines() if not x.startswith("Exception")]
    try:
        json_items = json.loads("".join(stdout_lines))
        plugin_failed = any([x["symbol"] == "bad-plugin-value" for x in json_items])
        if plugin_failed:
            logging.error(f"Unable to load pylint_guidelines_checker. Check that it is installed.")
        cls.items = [PylintError(pkg_name, **x) for x in json_items if x["message-id"][1:3] == PylintParser.AZURE_CHECKER_CODE]
    except Exception as err:
        from apistub import DiagnosticLevel
        logging.error(f"Error decoding pylint output:\n{stderr_str}")
        logging.error(f"Error content:\n{err}")
        logging.error(f"==STDOUT==\n{stdout_lines}\n==END STDOUT==")
        # instead of raising an error, we will log a pylint error
        error = PylintError(pkg_name)
        error.level = DiagnosticLevel.ERROR
        error.owner = "GLOBAL"
        error.symbol = "apiview-pylint-parse-error"
        error.message = "Failure parsing pylint output. Please post an issue in the `Azure/azure-sdk-tools` repository."
        cls.items = [error]