Skip to main content

Module logs

Module logs 

Source
Expand description

运行日志查看页面模块(/admin/logs)。 管理后台「运行日志」页面(/admin/logs,侧边栏「工具」组)。

数据流:筛选变更(级别 chips / target 选择器 / 关键字)→ 变更 filter_keyLogsStreamPane key-based remount(同 runner.rs 语言切换模式):卸载即 use_drop close EventSource,挂载即重新拉历史(get_logs limit 200)并 重连 SSE /api/logs/stream。SSE 实时行追加到列表尾部并按 id 去重——注意 实时事件 id 恒为 0(未落库无 id,见 backend 契约),故去重只对历史行 (id != 0)生效,实时行到达即追加、绝不参与游标计算。

渲染纯度:render body 无任何副作用;网络 / DOM / EventSource 全部在 use_effect / 事件闭包 / #[cfg(target_arch = "wasm32")] 门控块内。

Re-exports§

pub use Logs_completions::Component::Logs;

Structs§

LogRow 🔒
日志行:entry(历史 id>0 / 实时 id=0)或 gap 分隔提示。
LogsStreamPaneProps 🔒
Properties for the LogsStreamPane component.
TargetSelectProps 🔒
Properties for the TargetSelect component.

Enums§

LogRowKind 🔒

Constants§

ALL_LEVELS 🔒
全部可选级别(多选 chips,顺序即展示与服务端白名单顺序)。
BUFFER_TRIM 🔒
触发上限时一次性裁掉的行数(留缓冲,避免每行都触发 drain)。
INITIAL_LIMIT 🔒
首屏历史加载条数。 以下常量与 LogRowKind 仅在 wasm32 门控块内构造(SSR 不加载数据), server target 会报 dead_code,按本文件组件同款 cfg_attr 放行。
MAX_BUFFER_ROWS 🔒
列表缓冲上限(行):超出时丢弃最旧行,保护 DOM 规模。
OLDER_PAGE_LIMIT 🔒
「加载更早」单次翻页条数。
STICK_THRESHOLD_PX 🔒
判定「贴底」的阈值(px):距底小于该值时新行自动跟随滚动。

Statics§

LOG_STREAM_ID 🔒
LogsStreamPane 实例计数器(滚动容器 id 跨实例全局唯一,同 FormSelect 模式)。
TARGET_SELECT_ID 🔒
TargetSelect 实例计数器(跨实例全局唯一,同 FormSelect 模式)。

Functions§

CleanupPolicy 🔒
清理策略子组件:保留天数 + 最大行数,复用共享可折叠设置卡片。
Logs
运行日志页面:页头(状态/跟随/导出)+ 筛选栏 + 清理策略 + 实时日志流。
LogsStreamPane 🔒
实时日志流面板:历史加载 + SSE 追加 + 向上翻页 + 滚动跟随。
TargetSelect 🔒
target 筛选选择器:触发器 + 下拉列表面板。
level_badge_class 🔒
级别 badge 配色(Catppuccin 语义色,沿用 StatusBadge 色板惯例)。