refactor: update firewall log display in Proxmox component to show raw log entries and improve error messaging for better clarity
This commit is contained in:
@@ -851,17 +851,19 @@ class Firewall extends Component
|
||||
|
||||
$this->firewallLogs = [];
|
||||
|
||||
// Store raw log entries without parsing
|
||||
foreach ($rawLogs as $logEntry) {
|
||||
$logText = null;
|
||||
|
||||
if (is_string($logEntry)) {
|
||||
$logText = trim($logEntry);
|
||||
if (!empty($logText)) {
|
||||
$this->firewallLogs[] = ['raw' => $logText];
|
||||
}
|
||||
} elseif (is_array($logEntry)) {
|
||||
// Try common field names
|
||||
// If it's an array, try to get the log text
|
||||
$logText = $logEntry['n'] ?? $logEntry['t'] ?? $logEntry['text'] ?? $logEntry['log'] ?? $logEntry['message'] ?? $logEntry['line'] ?? '';
|
||||
|
||||
// If still empty, try to get the first string value
|
||||
if (empty($logText)) {
|
||||
// Try to get the first string value
|
||||
foreach ($logEntry as $key => $value) {
|
||||
if (is_string($value) && !empty(trim($value))) {
|
||||
$logText = trim($value);
|
||||
@@ -869,20 +871,15 @@ class Firewall extends Component
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($logText)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$parsed = $this->parseFirewallLog($logText);
|
||||
if ($parsed) {
|
||||
$this->firewallLogs[] = $parsed;
|
||||
|
||||
if (!empty($logText)) {
|
||||
$this->firewallLogs[] = ['raw' => $logText];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($this->firewallLogs) && !empty($rawLogs)) {
|
||||
$this->logError = 'Logs received but could not be parsed. Please check that firewall logging is enabled in Proxmox.';
|
||||
$this->logError = 'Logs received but could not be processed.';
|
||||
} elseif (empty($this->firewallLogs)) {
|
||||
$this->logError = 'No firewall logs available. Ensure firewall logging is enabled in Proxmox (Datacenter > Firewall > Options).';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user