Initial state
This commit is contained in:
0
app/web/templates/index.html
Normal file
0
app/web/templates/index.html
Normal file
63
app/web/templates/logs.html
Normal file
63
app/web/templates/logs.html
Normal file
@ -0,0 +1,63 @@
|
||||
<!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>
|
Reference in New Issue
Block a user