$limit ? mb_substr($value, 0, $limit - 3) . '...' : $value; } return strlen($value) > $limit ? substr($value, 0, $limit - 3) . '...' : $value; }; $logFiles = ['runtime_debug.log', 'error_log', 'login_debug.log', 'post_debug.log', 'search_debug.log', 'debug.log']; ?>

System Logs & Wablas Activity

Monitor file logs plus recent WhatsApp dispatch results

The Wablas dispatch log table is not available yet. Run the migration before using WhatsApp automation.

No Wablas activity has been logged yet.

Create a sales invoice, send a test WhatsApp from Settings, or run the queue to see entries here.

ucfirst((string) ($row['status'] ?? 'Pending')), 'class' => 'bg-warning bg-opacity-10 text-warning']; $requestPayload = function_exists('wablasJsonDecode') ? wablasJsonDecode((string) ($row['request_payload'] ?? '')) : []; $responsePayload = function_exists('wablasJsonDecode') ? wablasJsonDecode((string) ($row['response_payload'] ?? '')) : []; $numbers = isset($requestPayload['numbers']) && is_array($requestPayload['numbers']) ? array_values($requestPayload['numbers']) : []; $numbersPreview = implode(', ', array_slice($numbers, 0, 3)); if (count($numbers) > 3) { $numbersPreview .= ' +' . (count($numbers) - 3) . ' more'; } $messagePreview = $wablasPreview((string) ($requestPayload['message'] ?? ''), 140); $httpCode = (string) ($responsePayload['http_code'] ?? ''); $errorMessage = trim((string) ($row['error_message'] ?? '')); ?>
Event Status Schedule / Attempt Recipients / Message Response
Created:
Attempts:
Scheduled:
Last attempt:
Recipients:
Message:
HTTP:
No error recorded

File-based Debug Logs

Latest lines from the app log files available in this workspace

--- " . htmlspecialchars(basename($file)) . " ---
"; $lines = shell_exec("tail -n 50 " . escapeshellarg($path)); echo "
" . htmlspecialchars((string) $lines) . "
"; } } if (!$foundLogs) { echo "

No accessible log files found.

"; } ?>