From 716fdcffe649b1c6197ed4f4ce6324c8036d558b Mon Sep 17 00:00:00 2001 From: Hosteroid Date: Tue, 21 Oct 2025 15:16:56 +0300 Subject: [PATCH] Improved error logging for Domain refresh --- app/Controllers/DebugController.php | 22 +++++++++++++ app/Controllers/DomainController.php | 48 ++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) diff --git a/app/Controllers/DebugController.php b/app/Controllers/DebugController.php index a21791b..4a6bd35 100644 --- a/app/Controllers/DebugController.php +++ b/app/Controllers/DebugController.php @@ -22,6 +22,15 @@ class DebugController extends Controller return; } + // Log debug tool usage + $logger = new \App\Services\Logger('debug'); + $logger->info('WHOIS debug tool accessed', [ + 'domain' => $domain, + 'user_id' => \Core\Auth::id(), + 'ip_address' => $_SERVER['REMOTE_ADDR'] ?? 'unknown', + 'user_agent' => $_SERVER['HTTP_USER_AGENT'] ?? 'unknown' + ]); + // Get TLD $parts = explode('.', $domain); $tld = $parts[count($parts) - 1]; @@ -313,6 +322,19 @@ class DebugController extends Controller // Get parsed info using WhoisService $info = $whoisService->getDomainInfo($domain); + // Log debug results + $logger->info('WHOIS debug completed', [ + 'domain' => $domain, + 'tld' => $tld, + 'server' => $server, + 'rdap_succeeded' => $rdapSucceeded, + 'whois_fallback_used' => !$rdapSucceeded, + 'parsed_status' => $info['status'] ?? 'unknown', + 'parsed_registrar' => $info['registrar'] ?? 'unknown', + 'parsed_expiration' => $info['expiration_date'] ?? 'unknown', + 'user_id' => \Core\Auth::id() + ]); + $this->view('debug/whois', [ 'domain' => $domain, 'server' => $server, diff --git a/app/Controllers/DomainController.php b/app/Controllers/DomainController.php index f3915bb..29b61e7 100644 --- a/app/Controllers/DomainController.php +++ b/app/Controllers/DomainController.php @@ -373,10 +373,25 @@ class DomainController extends Controller return; } + // Log domain refresh start + $logger = new \App\Services\Logger(); + $logger->info('Domain refresh started', [ + 'domain_id' => $id, + 'domain_name' => $domain['domain_name'], + 'user_id' => \Core\Auth::id(), + 'ip_address' => $_SERVER['REMOTE_ADDR'] ?? 'unknown' + ]); + // Get fresh WHOIS information $whoisData = $this->whoisService->getDomainInfo($domain['domain_name']); if (!$whoisData) { + $logger->error('Domain refresh failed - WHOIS data not retrieved', [ + 'domain_id' => $id, + 'domain_name' => $domain['domain_name'], + 'user_id' => \Core\Auth::id() + ]); + $_SESSION['error'] = 'Could not retrieve WHOIS information'; // Check if we came from view page $referer = $_SERVER['HTTP_REFERER'] ?? ''; @@ -401,6 +416,16 @@ class DomainController extends Controller 'whois_data' => json_encode($whoisData) ]); + // Log successful domain refresh + $logger->info('Domain refresh completed successfully', [ + 'domain_id' => $id, + 'domain_name' => $domain['domain_name'], + 'new_status' => $status, + 'registrar' => $whoisData['registrar'], + 'expiration_date' => $whoisData['expiration_date'], + 'user_id' => \Core\Auth::id() + ]); + $_SESSION['success'] = 'Domain information refreshed'; // Check if we came from view page or list page @@ -649,6 +674,15 @@ class DomainController extends Controller $settingModel = new \App\Models\Setting(); $isolationMode = $settingModel->getValue('user_isolation_mode', 'shared'); + // Log bulk refresh start + $logger = new \App\Services\Logger(); + $logger->info('Bulk domain refresh started', [ + 'user_id' => $userId, + 'domain_count' => count($domainIds), + 'isolation_mode' => $isolationMode, + 'ip_address' => $_SERVER['REMOTE_ADDR'] ?? 'unknown' + ]); + $refreshed = 0; $failed = 0; @@ -664,6 +698,11 @@ class DomainController extends Controller $whoisData = $this->whoisService->getDomainInfo($domain['domain_name']); if (!$whoisData) { + $logger->warning('Bulk refresh failed for domain - WHOIS data not retrieved', [ + 'domain_id' => $id, + 'domain_name' => $domain['domain_name'] ?? 'unknown', + 'user_id' => $userId + ]); $failed++; continue; } @@ -684,6 +723,15 @@ class DomainController extends Controller $refreshed++; } + // Log bulk refresh completion + $logger->info('Bulk domain refresh completed', [ + 'user_id' => $userId, + 'total_domains' => count($domainIds), + 'refreshed' => $refreshed, + 'failed' => $failed, + 'success_rate' => count($domainIds) > 0 ? round(($refreshed / count($domainIds)) * 100, 2) . '%' : '0%' + ]); + $_SESSION['success'] = "Refreshed $refreshed domain(s)" . ($failed > 0 ? ", $failed failed" : ''); $this->redirect('/domains'); }