code: def log(self, request, response, time):
      tz = datetime.timezone(datetime.timedelta(seconds=-timezone))
      now = datetime.datetime.now(tz)
      start_time = now - datetime.timedelta(seconds=time)
      start_time_str = start_time.strftime("[%d/%b/%Y:%H:%M:%S %z]")
  
      extra = {
          "remote_address": request.remote,
          "request_start_time": start_time_str,
          "request_duration": time,
          "response_status": response.status,
          "x_real_ip": request.headers.get("X-Real-IP"),
      }
  
      self.logger.info(
          f"{request.scheme} {request.method} {request.path} "
          f"done in {time}s: {response.status}",
          extra={**extra, **request.get("batch_telemetry", {})},
      )
  
file_path: hail/hail/python/hailtop/hail_logging.py
imports: import datetime
  import logging
  import sys
  from time import timezone
  import orjson
  from aiohttp.abc import AbstractAccessLogger
  from pythonjsonlogger import jsonlogger
label_desc: Use image node_id 1 for calling the AccessLogger obj's underlying member method code with example usage: obj.log(request, response, time) without return types