跳到主要内容

系统日志

网关在启动 / 采集 / 通信 / API 调用过程中产生的系统日志(Cassandra pe.app_system_log)的检索和查看页面。

系统日志页面

点击首页卡片*系统错误(今日)*的红色数字 → 自动跳转(仅今日 ERROR),或直接进入 /ui/system/log/list。


1. 页面结构​

┌─────────┬──────────────────────────────────────────────────┐
│ 좌측 │ 우측 │
│ 검색폼 │ 로그 목록 (DataTables) │
│ │ │
│ [기간] │ ┌───────────┬───────┬──────────────────────────┐ │
│ [레벨] │ │ 시간 │ 레벨 │ 메세지 │ │
│ │ ├───────────┼───────┼──────────────────────────┤ │
│ [검색] │ │ ... │ INFO │ ... │ │
└─────────┴──────────────────────────────────────────────────┘

默认搜索期限:最近30天(00:00 ~ 23:59)。


2. 左侧搜索表单​

字段含义默认值
搜索期限YYYY-MM-DD HH:mm ~ YYYY-MM-DD HH:mm 范围从今日起29天前的 00:00 ~ 今日 23:59
级别전체 / INFO / WARN / ERROR所有

左侧操作​

按钮操作
↻ 刷新(页面顶部)log.search() — 以当前表单值重新查询
🔍 搜索(蓝色按钮,左侧面板右下角)log.search() — 以表单值调用 /system/log/search

左侧表单仅有搜索期限(日期范围选择器)+ 级别(下拉框)两个字段 — 与其他搜索页面(/ui/connect/list, /ui/point)共享相同的 pp-cell-pill 风格标签 / 圆角表单设计。


3. 右侧 — 日志列表(DataTables)​

#列显示
1时间timestamp.iso(精确到毫秒) — 居中显示,默认降序(最新在上)
2级别圆角胶囊徽章(border-radius: 5px) — 🟦 INFO(蓝色实心) / 🟧 WARN(橙色实心) / 🟥 ERROR(红色实心)。 与其他页面(如 /ui/connect/list)的 pp-cell-pill 风格一致
3消息日志正文(长消息自动换行,点击可展开)

每页大小:10 / 20 / 50 / 100 / 1000 可选(默认 100)。

右侧操作​

按钮操作
↻ 刷新log.list()
🗑 全部删除log.truncate() — 确认对话框 → 全部删除(pe.app_system_log truncate)。 不可撤销

4. 常见模式​

消息 / 级别含义 / 下一步措施
ERROR [PLCDriverConnector] connection failed ...PLC 连接失败。 检查 IP/端口/防火墙
ERROR [PLCValueReader] read failed at TAG_*检查该标签的地址 / 数据类型(格式)
WARN [SchedulerStartListener] startup race detected非常罕见的启动竞态 — 再执行一次 restart.sh
INFO [TAG_WRITE] OK opc_id=... tag_id=... value=... user_agent=... remote_ip=...正常的写入记录 — 用于审计。 remote_ip 默认为 RemoteAddr,启用反向代理时可设为 X-Forwarded-For 第一个 IP
INFO [API_ACCESS] method=GET path=/api/v1/... status=200 ...REST API 调用的单行审计(ApiAccessLogFilter) — 所有 /api/* 调用都会记录。 API 密钥用前缀4个字符 + 长度进行掩码
WARN [API_ACCESS] ... status=401 auth=none认证失败的调用 — 密钥缺失
WARN [API_ACCESS] ... status=401 auth=deprecated_query已弃用的 ?api_key= 查询认证尝试 — 需要切换到 头部/Bearer
ERROR [Cassandra*] timeout / coordinator overload检查数据库负载 / 磁盘 / 堆。 node-info.sh
INFO [SparkPlugSession] NBIRTH publish complete seq=0Sparkplug 正常重启
INFO [SparkPlugSession] DBIRTH publish complete devices=NSparkplug 设备出生 — N 个 OPC 发布了 birth

5. 数据来源 / 调用的 API​

操作API
搜索GET /system/log/search(查询:s_date_range, level, ...)
全部删除POST /system/log/truncate

内部存储:Cassandra pe.app_system_log 表。 可单独设置 TTL(app.properties 的 system.log.ttl.days)。


6. 常见陷阱​

症状原因 / 解决方案
搜索结果为空超出默认30天范围 / 被级别过滤器遗漏。 将期限改为 1年,级别改为所有
日志过多导致页面卡顿将每页大小从 100 改为 20,或级别缩小至 ERROR
ERROR 数量与*系统错误(今日)*卡片上的数字不符卡片统计的是今日 00:00 之后的 / 本页面的搜索范围是用户自定义的期限
执行全部删除后统计为 0正常 — 在产生新的 ERROR 之前保持空状态
日志保留时间过长导致磁盘压力大缩短 system.log.ttl.days / 结合使用 clean.sh 和 node-cleanup.sh

7. 了解更多​