Files
node-monitor/app/web/templates/logs.html
2025-06-10 22:25:48 +03:00

64 lines
2.2 KiB
HTML

<!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 %}
</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>
</html>