ConsoleLog

经内置 signalr.js 连接后端 worker 的 SignalR 中心,流式查看物联网设备运行日志。

最后更新

说明

面向后端 worker(如物联网采集服务)的 SignalR 中心:设置 HubUrl(如 /hubs/iot-log)后,组件用 DotNetObjectReference 把中心推送的实时日志流回渲染。框架内置的 signalr.js(wwwroot/js/libs/signalr.js)在首次连接时才惰性注入,不连日志的宿主零固定成本,Web 与 Hybrid 双端均可命中。约定中心向客户端推送的方法名由 Method 指定(默认 Log),负载被归一为 Level / Time / Source / Text 四个字段后按级别着色(debug / info / warn / error),兼容字符串、单对象、多参数三种推送写法。工具栏提供关键字搜索、最低级别过滤、自动滚动、连接 / 断开与清空;Reconnect 开启时断线自动重连,AccessToken 供需鉴权的中心携带 Bearer 令牌,MaxLines 限制缓冲行数(超出丢最旧)。无中心时也可命令式调用 Append 注入日志,用于离线预览或单元测试;点连接而 HubUrl 为空会友好提示、不发起请求。KnownWeb 已内置演示中心 /hubs/iot-log(IotLogHub + 模拟 worker IotLogWorker,周期性广播设备日志),在其内点“连接”即可看到实时日志流。可见文本均经 LocalService 本地化,样式集中在框架 web.css 的 .log-console 段。

常见能力:

  • 惰性加载 signalr.js,连中心才注入
  • DotNetObjectReference 回推实时日志流
  • 负载归一为 Level/Time/Source/Text 并按级别着色
  • 关键字搜索 + 最低级别过滤
  • 自动滚动 / 连接 / 断开 / 清空
  • 断线自动重连、Bearer 令牌鉴权
  • MaxLines 缓冲上限、超出丢最旧
  • 无中心时可命令式 Append 注入
  • Web 与 Blazor Hybrid 双端可用
  • 文本经 LocalService 本地化

用法

@* 连后端 SignalR 中心:中心向客户端 Method(默认 Log) 推送日志 *@
<ConsoleLog HubUrl="/hubs/iot-log"
            Title="设备运行日志"
            MaxLines="500" Height="320px"
            AutoConnect="true" Reconnect="true" />

@* 需鉴权的中心带 Bearer 令牌 *@
<ConsoleLog HubUrl="https://worker.contoso.com/hubs/iot-log"
            AccessToken="@token" />

@* 无中心时命令式注入(离线预览 / 测试) *@
<ConsoleLog @ref="log" Title="设备运行日志" HubUrl="" />
@code {
    private ConsoleLog log;
    protected override void OnAfterRender(bool first)
    {
        if (first) log.Append("info", "设备已上线", "网关 GW-01");
    }
}

API 参数

参数 类型 默认值 说明
AccessToken string null 访问令牌(Bearer),需要鉴权的中心传入;留空则不带令牌。
AutoConnect bool false 是否在首次渲染后自动连接(需同时提供 HubUrl)。
AutoScroll bool true 新日志到达时是否自动滚动到底部,默认开启。
Height string "320px" 日志区高度,默认 320px。
HubUrl string null SignalR 中心地址(如 /hubs/iot-log)。留空则点连接仅提示、不发起请求。
MaxLines int 500 缓冲区最大行数,超出后丢弃最旧日志,默认 500。
Method string "Log" 中心向客户端推送日志的事件方法名,默认 Log。
Reconnect bool true 断线后是否自动重连,默认开启。
Title string "运行日志" 面板标题(翻译键)。
Visible bool true 取得或设置组件是否可见,默认为false。
VisibleChanged EventCallback<bool> — 事件 取得或设置组件可见性变化时的回调事件。
Class string null 取得或设置组件的CSS类名,用于自定义样式。
Disabled bool false 取得或设置组件是否禁用,默认为false。
Style string null 取得或设置组件的内联样式,用于自定义样式。

所有组件均继承 BaseComponent,除上表参数外还支持 Class、Style、Disabled、Visible。

微信公众号二维码 扫码关注公众号
QQ 交流群二维码 扫码加入 QQ 群