Working state after implementing dark theme.
This commit is contained in:
@ -1,63 +1,21 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Node Monitor - Logs</title>
|
||||
<style>
|
||||
body { font-family: monospace; margin: 20px; background: #1a1a1a; color: #00ff00; }
|
||||
.log-entry { margin: 5px 0; padding: 5px; border-left: 3px solid #333; }
|
||||
.log-info { border-left-color: #0066cc; }
|
||||
.log-warning { border-left-color: #ff9900; }
|
||||
.log-error { border-left-color: #cc0000; }
|
||||
.timestamp { color: #666; }
|
||||
.level { font-weight: bold; margin-right: 10px; }
|
||||
.message { color: #fff; }
|
||||
.extra { color: #888; font-size: 0.9em; margin-top: 3px; }
|
||||
h1 { color: #00ff00; }
|
||||
.refresh-info { color: #666; margin: 10px 0; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Node Monitor Logs - {{ service_uuid }}</h1>
|
||||
<div class="refresh-info">Auto-refreshing every 5 seconds...</div>
|
||||
|
||||
<div id="logs-container">
|
||||
{% for log in logs %}
|
||||
<div class="log-entry log-{{ log.level.lower() }}">
|
||||
<span class="timestamp">{{ log.timestamp }}</span>
|
||||
<span class="level">{{ log.level }}</span>
|
||||
<span class="message">{{ log.message }}</span>
|
||||
{% if log.extra %}
|
||||
<div class="extra">{{ log.extra | tojson }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="refresh" content="5"> <!-- Fallback auto-refresh -->
|
||||
<title>Node Monitor Logs - {{ service_uuid }}</title>
|
||||
<link rel="stylesheet" href="/static/style.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="header-container">
|
||||
<h1>Node Monitor Logs</h1>
|
||||
<p>Service UUID: <code>{{ service_uuid }}</code></p>
|
||||
<p>Total Logs: <span id="log-count">0</span> (Auto-refreshing every 5 seconds)</p>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// Auto-refresh logs every 5 seconds
|
||||
setInterval(async function() {
|
||||
try {
|
||||
const response = await fetch('{{ service_uuid }}/logs/json');
|
||||
const data = await response.json();
|
||||
|
||||
const container = document.getElementById('logs-container');
|
||||
container.innerHTML = '';
|
||||
|
||||
data.logs.forEach(log => {
|
||||
const div = document.createElement('div');
|
||||
div.className = `log-entry log-${log.level.toLowerCase()}`;
|
||||
div.innerHTML = `
|
||||
<span class="timestamp">${log.timestamp}</span>
|
||||
<span class="level">${log.level}</span>
|
||||
<span class="message">${log.message}</span>
|
||||
${log.extra ? `<div class="extra">${JSON.stringify(log.extra)}</div>` : ''}
|
||||
`;
|
||||
container.appendChild(div);
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Failed to refresh logs:', error);
|
||||
}
|
||||
}, 5000);
|
||||
</script>
|
||||
</body>
|
||||
<div id="log-table-container">
|
||||
<p class="loading-message">Loading logs...</p>
|
||||
</div>
|
||||
<script src="/static/logs.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
Reference in New Issue
Block a user