code: def log_artifact(self, file, type="artifact"):
      if type == "model":
          if not file.endswith("Transformation Pipeline.pkl"):
              self._dvc_add(
                  local_path=file,
                  remote_path=os.path.join(self.paths["models"], file),
              )
              self._dvc_commit(commit="added new trained model")
      elif type == "data":
          self.__commit_data_type.append(file.split(os.sep)[-1].lower())
          remote_dir = (
              self.paths["processed_data"]
              if "transform" in self.__commit_data_type[-1]
              else self.paths["raw_data"]
          )
  
          self._dvc_add(
              local_path=file,
              remote_path=os.path.join(
                  remote_dir, self.__commit_data_type[-1]
              ),
          )
      elif type == "data_commit":
          self._dvc_commit(
              commit="update data: "
              + ", ".join(self.__commit_data_type)
          )
          self.__commit_data_type = []
      else:
          mlflow.log_artifact(file)
  
file_path: pycaret/pycaret/loggers/dagshub_logger.py
imports: import os
  from pathlib import Path
  from pycaret.loggers.mlflow_logger import MlflowLogger
label_desc: Use image node_id 6 for calling the DagshubLogger obj's underlying member method code with example usage: obj.log_artifact(file, type) without return types