code: def add_caller_info(logger, method_name, event_dict):
      # Typically skipped funcs: _add_caller_info, _process_event, _proxy_to_logger, _proxy_to_logger
      frame = inspect.currentframe()
      while frame:
          frame = frame.f_back
          module = frame.f_globals["__name__"]
          if module.startswith("structlog."):
              continue
          event_dict["module"] = module
          event_dict["lineno"] = frame.f_lineno
          event_dict["func"] = frame.f_code.co_name
          return event_dict
  
file_path: baal/baal/utils/log_configuration.py
imports: import collections
  import inspect
  import os
  import threading
  import structlog
  from structlog.dev import ConsoleRenderer
  from structlog.processors import StackInfoRenderer, TimeStamper, format_exc_info
  from structlog.stdlib import add_log_level
label_desc: Use image node_id 5 for calling a global function with example usage: add_caller_info(logger, method_name, event_dict) and returns: event_dict