if (!function_exists('mitaar_read_log_file')) { function mitaar_read_log_file($date, $limit = 100, $offset = 0) { // וולידציה לתאריך if (!strtotime($date)) { error_log("Invalid date format provided: {$date}"); return false; } $formatted_date = date('d-M-Y', strtotime($date)); $base_url = "https://bapergula.co.il/log/"; // ננסה לקרוא את קובץ הלוג היומי $log_url = "{$base_url}log_{$formatted_date}.log"; $ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => $log_url, CURLOPT_RETURNTRANSFER => true, CURLOPT_FAILONERROR => true, CURLOPT_TIMEOUT => 10, CURLOPT_CONNECTTIMEOUT => 5 ]); $log_data = curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($http_code !== 200 || $log_data === false) { error_log("Failed to retrieve log file for date {$formatted_date}"); return false; } // מחזיר את השורות המבוקשות לפי ה-offset וה-limit $lines = array_filter(explode("\n", trim($log_data))); return array_slice($lines, $offset, $limit); } } if (!function_exists('mitaar_analyze_log_entries')) { function mitaar_analyze_log_entries($lines) { if (!is_array($lines)) { error_log("Expected array for log lines, received: " . gettype($lines)); return [ 'debug' => 0, 'error' => 0, 'info' => 0, 'warning' => 0, 'unknown' => 0, 'entries' => [], 'summary' => '' ]; } $results = [ 'debug' => 0, 'error' => 0, 'info' => 0, 'warning' => 0, 'unknown' => 0, 'entries' => [], 'error_details' => [], // שמירת פרטי השגיאות 'summary' => '' ]; foreach ($lines as $line) { $parsed = mitaar_parse_log_line($line); $type = $parsed['type']; $results['entries'][] = $parsed; if (isset($results[$type])) { $results[$type]++; } // שמירת פרטי שגיאות לניתוח if ($type === 'error') { $results['error_details'][] = $parsed; } } // יצירת סיכום $results['summary'] = mitaar_generate_log_summary($results); return $results; } } if (!function_exists('mitaar_parse_log_line')) { function mitaar_parse_log_line($line) { $timestamp = ''; $type = 'unknown'; $message = $line; // חילוץ התאריך והשעה (אם קיימים) if (preg_match('/^\[(.*?)\]/', $line, $matches)) { $timestamp = $matches[1]; } // זיהוי סוג ההודעה if (strpos($line, '[DEBUG]') !== false) { $type = 'debug'; } elseif (strpos($line, '[ERROR]') !== false) { $type = 'error'; } elseif (strpos($line, '[INFO]') !== false) { $type = 'info'; } elseif (strpos($line, '[WARNING]') !== false) { $type = 'warning'; } // ניקוי ההודעה $message = preg_replace('/^\[(.*?)\]\s*(\[.*?\])\s*/', '', $line); return [ 'timestamp' => $timestamp, 'type' => $type, 'message' => trim($message), 'raw' => $line ]; } } if (!function_exists('mitaar_generate_log_summary')) { function mitaar_generate_log_summary($results) { $summary = []; // סיכום כמותי $summary[] = sprintf("סה\"כ רשומות: %d", count($results['entries'])); $summary[] = sprintf("שגיאות: %d", $results['error']); $summary[] = sprintf("אזהרות: %d", $results['warning']); $summary[] = sprintf("הודעות מידע: %d", $results['info']); $summary[] = sprintf("הודעות דיבאג: %d", $results['debug']); // ניתוח שגיאות if (!empty($results['error_details'])) { $summary[] = "\nפירוט שגיאות נפוצות:"; $error_types = []; foreach ($results['error_details'] as $error) { $error_msg = $error['message']; if (!isset($error_types[$error_msg])) { $error_types[$error_msg] = 0; } $error_types[$error_msg]++; } arsort($error_types); foreach (array_slice($error_types, 0, 5) as $msg => $count) { $summary[] = sprintf("- %dx: %s", $count, $msg); } } return implode("\n", $summary); } } ארכיון צינורות גן - בפרגולה
חיפוש

רכישה מהנה!

סינון תוצאות

קטגוריה

מחיר

מחיר - slider
29239

ברוכים הבאים לאתר
משתלת בפרגולה

לקוחות יקרים,
שמחים לבשר שהתחלנו הרצה לרכישה באונליין.
במידה ונתקלתם בבעיה נא לפנות לווטסאפ של המשתלה
על כל בעיה אנא פנו אלינו בוואצאפ 052-401-4911
בדף התשלום, שימו לב לאזורי המשלוחים של המשתלה!
דילוג לתוכן