Private
Public Access
1
0

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:
2025-12-01 17:00:37 -05:00
parent 944f53554b
commit 52cf6a6c85
2 changed files with 18 additions and 51 deletions

View File

@@ -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).';
}