$filter_tool, 'status' => $filter_status, 'api_key_id' => $filter_key_id ?: null, 'remote_ip' => $filter_ip, 'date_from' => $filter_from, 'date_to' => $filter_to, ] ); $result = AICOM_Audit_Logger::query( $filters, $per_page, $page_num ); $logs = $result['items']; $total = $result['total']; $num_pages = (int) ceil( $total / $per_page ); // For key dropdown $api_keys = $wpdb->get_results( "SELECT id, label, key_prefix FROM {$wpdb->prefix}aicom_api_keys ORDER BY label", ARRAY_A ); $status_options = [ '', 'success', 'error', 'blocked_soft_lock', 'blocked_hard_lock', 'denied_scope', 'denied_allowlist', 'validation_failed', 'auth_failed', 'dependency_missing' ]; $period_options = [ 'today' => 'Today', '7days' => 'Last 7 Days', '30days' => 'Last 30 Days', 'year' => 'This Year', 'custom' => 'Custom Range', 'all' => 'All Time' ]; $base_url = admin_url( 'admin.php?page=aicom-audit-logs' ); ?>
No log entries found.
| Time | Tool | Status | Duration | Key | IP | Target |
|---|---|---|---|---|---|---|
|
|