feat: Enhance logging by including request payload in generation responses

This commit is contained in:
2026-01-31 14:58:01 +00:00
parent 051db0febc
commit 3e74bcbf3a
3 changed files with 35 additions and 13 deletions

View File

@@ -230,6 +230,12 @@ class Groq_AI_Ajax_Controller {
]
);
$logged_parameters = $request_parameters;
if ( is_array( $result ) && isset( $result['request_payload'] ) ) {
$logged_parameters['http_request'] = $result['request_payload'];
unset( $result['request_payload'] );
}
if ( is_wp_error( $result ) ) {
if ( $logger ) {
$logger->log_generation_event(
@@ -242,7 +248,7 @@ class Groq_AI_Ajax_Controller {
'status' => 'error',
'error_message' => $result->get_error_message(),
'post_id' => 0,
'parameters' => $request_parameters,
'parameters' => $logged_parameters,
]
);
}
@@ -272,7 +278,7 @@ class Groq_AI_Ajax_Controller {
'status' => 'error',
'error_message' => $parsed->get_error_message(),
'post_id' => 0,
'parameters' => $request_parameters,
'parameters' => $logged_parameters,
]
);
}
@@ -294,7 +300,7 @@ class Groq_AI_Ajax_Controller {
'usage' => $response_usage,
'status' => 'success',
'post_id' => 0,
'parameters' => $request_parameters,
'parameters' => $logged_parameters,
]
);
}
@@ -544,6 +550,12 @@ class Groq_AI_Ajax_Controller {
]
);
$logged_parameters = $request_parameters;
if ( is_array( $result ) && isset( $result['request_payload'] ) ) {
$logged_parameters['http_request'] = $result['request_payload'];
unset( $result['request_payload'] );
}
if ( is_wp_error( $result ) ) {
$this->plugin->get_generation_logger()->log_generation_event(
[
@@ -557,7 +569,7 @@ class Groq_AI_Ajax_Controller {
'post_id' => $post_id,
'status' => 'error',
'error_message' => $result->get_error_message(),
'parameters' => $request_parameters,
'parameters' => $logged_parameters,
]
);
wp_send_json_error( [ 'message' => $result->get_error_message() ], 500 );
@@ -583,7 +595,7 @@ class Groq_AI_Ajax_Controller {
'post_id' => $post_id,
'status' => 'error',
'error_message' => $response->get_error_message(),
'parameters' => $request_parameters,
'parameters' => $logged_parameters,
]
);
wp_send_json_error( [ 'message' => $response->get_error_message() ], 500 );
@@ -598,7 +610,7 @@ class Groq_AI_Ajax_Controller {
'usage' => $response_usage,
'post_id' => $post_id,
'status' => 'success',
'parameters' => $request_parameters,
'parameters' => $logged_parameters,
]
);

View File

@@ -100,8 +100,10 @@ abstract class Groq_AI_Abstract_OpenAI_Provider implements Groq_AI_Provider_Inte
$request_body['response_format'] = $args['response_format'];
}
$endpoint = $this->get_endpoint();
$response = wp_remote_post(
$this->get_endpoint(),
$endpoint,
[
'headers' => [
'Authorization' => 'Bearer ' . $api_key,
@@ -140,6 +142,10 @@ abstract class Groq_AI_Abstract_OpenAI_Provider implements Groq_AI_Provider_Inte
'content' => $content,
'usage' => $usage,
'raw_response' => $body,
'request_payload' => [
'url' => $endpoint,
'body' => $request_body,
],
];
}

View File

@@ -231,12 +231,16 @@ class Groq_AI_Provider_Google implements Groq_AI_Provider_Interface {
$usage['finish_reason'] = $finish_reason;
}
return [
'content' => $content,
'usage' => $usage,
'raw_response' => $body,
];
}
return [
'content' => $content,
'usage' => $usage,
'raw_response' => $body,
'request_payload' => [
'url' => $endpoint,
'body' => $payload,
],
];
}
private function build_safety_settings_payload( $settings ) {
if ( empty( $settings ) || ! is_array( $settings ) ) {