class_docstr: Abstract TFX executor class.
class_docstr_tok: ["Abstract","TFX","executor","class","."]
docstr: Logs a message indicating the start of an execution.
docstr_tok: ["Logs","a","message","indicating","the","start","of","an","execution","."]
code: def _log_startup(
      self,
      inputs: Dict[str, List[types.Artifact]],
      outputs: Dict[str, List[types.Artifact]],
      exec_properties: Dict[str, Any],
  ) -> None:
      """Logs a message indicating the start of an execution."""
      del inputs, outputs, exec_properties
      # No need to log inputs, outputs and exec_properties. These are all written
      # to the base directory in the ExecutionInvocation proto.
      logging.debug("Starting %s execution.", self.__class__.__name__)
  
file_path: tfx/tfx/dsl/components/base/base_executor.py
imports: import abc
  import os
  from typing import Any, Dict, List, Optional
  from absl import logging
  from tfx import types
  from tfx.dsl.io import fileio
  from tfx.proto.orchestration import execution_result_pb2
  from tfx.proto.orchestration import pipeline_pb2
label_desc: Use image node_id 4 for calling the BaseExecutor obj's underlying member method code with example usage: obj._log_startup(inputs, outputs, exec_properties) without return types