Updates
CI / test (push) Successful in 1m3s
Release rolling / release (push) Has been cancelled

This commit is contained in:
Raven Scott
2026-07-18 23:47:54 -04:00
parent e503e92dd4
commit 3fc0245b32
34 changed files with 834 additions and 197 deletions
+43 -24
View File
@@ -269,51 +269,70 @@
<!-- Logs -->
<section id="logs-view" class="view hidden">
<header class="page-header">
<header class="page-header logs-header">
<div>
<p class="dash-kicker">Investigate</p>
<h1 class="dash-title">Logs</h1>
<p class="page-subtitle">Anomalies, agent audit trail, and optional host journal</p>
<p class="page-subtitle">Host journal · anomalies · audit · <kbd>/</kbd> search · Follow for live</p>
</div>
<div class="page-actions logs-header-actions">
<button type="button" id="logs-follow" class="btn btn-ghost" aria-pressed="false" title="Auto-refresh every 5s">Follow</button>
<button type="button" id="logs-refresh" class="btn btn-ghost" title="Refresh now">Refresh</button>
</div>
</header>
<div class="logs-toolbar">
<div id="logs-sources" class="logs-sources" role="tablist" aria-label="Log source">
<button type="button" class="metrics-tf active" data-log-source="journal" role="tab" aria-selected="true" title="Admin only · host journal (default)">Journal</button>
<button type="button" class="metrics-tf" data-log-source="anomaly" role="tab" aria-selected="false">Anomalies</button>
<button type="button" class="metrics-tf" data-log-source="audit" role="tab" aria-selected="false" title="Admin only">Audit</button>
</div>
<div class="logs-search-row">
<input id="logs-q" type="search" placeholder="Search message…" autocomplete="off" />
<div class="logs-toolbar" id="logs-toolbar">
<div class="logs-toolbar-top">
<div id="logs-sources" class="logs-sources" role="tablist" aria-label="Log source">
<button type="button" class="metrics-tf active" data-log-source="journal" role="tab" aria-selected="true" title="Admin · host journal">Journal</button>
<button type="button" class="metrics-tf" data-log-source="anomaly" role="tab" aria-selected="false">Anomalies</button>
<button type="button" class="metrics-tf" data-log-source="audit" role="tab" aria-selected="false" title="Admin · agent audit trail">Audit</button>
</div>
<div id="logs-presets" class="metrics-presets" role="group" aria-label="Time range">
<button type="button" class="metrics-tf" data-log-range="15m">15m</button>
<button type="button" class="metrics-tf active" data-log-range="1h">1h</button>
<button type="button" class="metrics-tf" data-log-range="6h">6h</button>
<button type="button" class="metrics-tf" data-log-range="24h">24h</button>
</div>
</div>
<div class="logs-search-row">
<input id="logs-q" type="search" placeholder="Search messages…" autocomplete="off" spellcheck="false" />
<label class="metrics-group-label muted logs-journal-only">
Priority
<select id="logs-priority" aria-label="Journal priority">
Max priority
<select id="logs-priority" aria-label="Journal max priority (and above)">
<option value="">any</option>
<option value="0">0 emerg</option>
<option value="1">1 alert</option>
<option value="2">2 crit</option>
<option value="3">3 err</option>
<option value="4">4 warning</option>
<option value="5">5 notice</option>
<option value="6">6 info</option>
<option value="7">7 debug</option>
<option value="3">err+</option>
<option value="4">warning+</option>
<option value="5">notice+</option>
<option value="6">info+</option>
<option value="2">crit+</option>
<option value="0">emerg only</option>
</select>
</label>
<label class="metrics-group-label muted logs-journal-only">
Unit
<input id="logs-unit" type="text" placeholder="e.g. peardata" autocomplete="off" />
<input id="logs-unit" type="text" placeholder="peardata.service" autocomplete="off" spellcheck="false" />
</label>
<button type="button" id="logs-search-btn" class="btn btn-primary">Search</button>
<button type="button" id="logs-clear-btn" class="btn btn-ghost" title="Clear search filters">Clear</button>
</div>
<div class="logs-status-row">
<p id="logs-status" class="muted logs-status" role="status"></p>
<button type="button" id="logs-copy" class="btn btn-ghost logs-copy-btn" hidden title="Copy visible lines">Copy</button>
</div>
</div>
<p id="logs-status" class="muted logs-status" role="status"></p>
<div class="dash-card logs-card">
<ul id="logs-list" class="event-list logs-list"></ul>
<div class="logs-stream" id="logs-stream">
<div class="logs-cols" aria-hidden="true">
<span>Time</span>
<span>Sev</span>
<span>Unit</span>
<span>Message</span>
<span></span>
</div>
<ul id="logs-list" class="logs-list" aria-live="polite"></ul>
<div id="logs-empty" class="logs-empty hidden" role="status"></div>
<div class="logs-footer">
<button type="button" id="logs-more" class="btn btn-ghost hidden">Load more</button>
</div>
</div>
</section>