code: def input_log_event(
      self,
      model,
      messages,
      end_user,
      litellm_call_id,
      call_type,
      print_verbose,
      litellm_params,
      optional_params,
  ):
      print_verbose(
          f"LiteDebugger: Pre-API Call Logging for call id {litellm_call_id}"
      )
      try:
          print_verbose(
              f"LiteLLMDebugger: Logging - Enters input logging function for model {model}"
          )
  
          def remove_key_value(dictionary, key):
              new_dict = (
                  dictionary.copy()
              )  # Create a copy of the original dictionary
              new_dict.pop(
                  key
              )  # Remove the specified key-value pair from the copy
              return new_dict
  
          updated_litellm_params = remove_key_value(
              litellm_params, "logger_fn"
          )
  
          if call_type == "embedding":
              for (
                  message
              ) in (
                  messages
              ):  # assuming the input is a list as required by the embedding function
                  litellm_data_obj = {
                      "model": model,
                      "messages": [
                          {"role": "user", "content": message}
                      ],
                      "end_user": end_user,
                      "status": "initiated",
                      "litellm_call_id": litellm_call_id,
                      "user_email": self.user_email,
                      "litellm_params": updated_litellm_params,
                      "optional_params": optional_params,
                  }
                  print_verbose(
                      f"LiteLLMDebugger: Logging - logged data obj {litellm_data_obj}"
                  )
                  response = requests.post(
                      url=self.api_url,
                      headers={"content-type": "application/json"},
                      data=json.dumps(litellm_data_obj),
                  )
              print_verbose(
                  f"LiteDebugger: embedding api response - {response.text}"
              )
          elif call_type == "completion":
              litellm_data_obj = {
                  "model": model,
                  "messages": messages
                  if isinstance(messages, list)
                  else [{"role": "user", "content": messages}],
                  "end_user": end_user,
                  "status": "initiated",
                  "litellm_call_id": litellm_call_id,
                  "user_email": self.user_email,
                  "litellm_params": updated_litellm_params,
                  "optional_params": optional_params,
              }
              print_verbose(
                  f"LiteLLMDebugger: Logging - logged data obj {litellm_data_obj}"
              )
              response = requests.post(
                  url=self.api_url,
                  headers={"content-type": "application/json"},
                  data=json.dumps(litellm_data_obj),
              )
              print_verbose(
                  f"LiteDebugger: completion api response - {response.text}"
              )
      except:
          print_verbose(
              f"[Non-Blocking Error] LiteDebugger: Logging Error - {traceback.format_exc()}"
          )
          pass
  
file_path: litellm/litellm/integrations/litedebugger.py
imports: import requests, traceback, json, os
  import types
label_desc: Use image node_id 3 for calling the LiteDebugger obj's underlying member method code with example usage: obj.input_log_event(model, messages, end_user, litellm_call_id, call_type, print_verbose, litellm_params, optional_params) and returns: new_dict