generate_cloudwatch_log_json

in source/resources/lib/puma/puma.config/application_controller.rb [16:47]


    def generate_cloudwatch_log_json
      start_request_time = Time.now
      yield
      total_request_time = Time.now - start_request_time
      logging_hash = {
        time: Time.now,
        request_uuid: request.uuid,
        method: request.method,
        remoteIP: request.ip,
        host: Socket.gethostname,
        parameters: request.parameters,
        bytesSent: request.content_length,
        bytesReceived: response.body.size,
        filename: request.original_fullpath,
        request: request.original_url,
        responseTime: total_request_time,
        user_agent: request.user_agent
      }
  
      begin
        yield
      ensure
        logging_hash.merge!({
          status: response.code,
          response_message: response.message,
          response_content_type: response.content_type
        })
  
        logger.info logging_hash.to_json
      end
    end