日志
日志页面提供了 HandyCafe 中所有系统事件的详细审计记录。从会话开始到收银员登录,每一个重要操作都在此记录,以便于责任追踪、故障排除和合规目的。
标签页
页面分为多个标签页,每个标签页对应一组不同的记录。
| 标签页 | 内容 |
|---|---|
| 系统日志 | 本页所描述的通用事件日志 |
| 交易 | 按收银员班次记录的资金流动 |
| 回收站 | 从其他页面删除的记录,保留以便恢复 |
| 审计 | 敏感变更的防篡改记录 |
| IP 日志 | 按日归档保存的访问记录,用于满足法定留存要求。参见 IP 日志与访问记录 |
| 篡改事件 | 客户端上报的反作弊检测结果 |
| HWID 黑名单 | 被禁止开启会话的硬件 ID |
| Steam VAC | 对会员账户执行的 Steam 封禁检查 |
在设置中选择查看,可以逐个关闭这些标签页。当所有标签页都关闭时,日志入口会从导航菜单中消失。参见显示设置。
审计标签页
审计标签页记录对责任追踪有意义的变更:权限与角色变更、财务调整、商品变更、设置变更、数据删除以及主机操作。
审计记录无法修改。每条记录都由一个完整性签名保护,该签名与它之前的一条记录相互串联。标签页顶部会显示校验结果。如果某条记录被改动过,面板会指出链条断裂的第一条记录。
审计记录可以按类别或操作筛选。自由文本搜索覆盖操作者和操作对象。
性能
日志查看器使用虚拟列表渲染来保持流畅的性能,即使在显示数千条记录时也是如此。这意味着在任何时候只有可见的行被渲染到 DOM 中,使系统能够处理超过 1000 条日志记录而不影响界面性能。
日志条目字段
每个日志条目包含以下字段:
| 字段 | 描述 |
|---|---|
| 时间戳 | 事件发生的日期和时间 |
| 来源 | 生成事件的系统组件 |
| 类别 | 事件的分类(见下文类别) |
| 操作 | 具体的操作类型(见下文常见操作) |
| 电脑 | 涉及的客户端电脑或主机(如适用) |
| IP | 与事件关联的 IP 地址 |
| 会员 | 涉及的会员(如适用) |
| 收银员 | 触发事件或值班的收银员 |
| 消息 | 对发生事件的可读描述 |
日志类别
事件分为 8 类:
- 服务器:服务器启动、关闭、配置更改和系统级事件。
- 客户端:客户端连接、断开和状态变化。
- 收银员:收银员登录、注销和管理操作。
- 会员:会员注册、资料更新和账户更改。
- 会话:会话生命周期事件(开始、停止、暂停、恢复)。
- 主机:与主机相关的事件(添加、移除、会话分配)。
- 订单:订单创建、修改和关闭事件。
- 支付:支付处理、退款和财务交易事件。
常见日志操作
以下操作经常出现在日志中:
startSession:在客户端或主机上启动了一个新会话。stopSession:一个进行中的会话被结束。pauseSession:一个正在运行的会话被暂停。resumeSession:一个暂停的会话被恢复。consoleAdded:系统中注册了一台新的游戏主机。newMemberAdded:创建了一个新的会员账户。orderCreated:下达了一个新的商品订单。orderClosed:一个订单已完成并关闭。cashierLogin:收银员登录了系统。cashierLogout:收银员退出了系统。serverStarted:HandyCafe 服务器应用程序已启动。clientConnected:客户端电脑与服务器建立了连接。clientDisconnected:客户端电脑与服务器断开了连接。
过滤和搜索
类别过滤
选择一个或多个类别以缩小日志显示范围。例如,仅显示会话和支付事件以审计财务活动。
操作过滤
按特定操作类型过滤,以快速找到特定事件。
日期范围过滤
将日志视图限制在特定时间段内。结合其他过滤器,这使得调查已知时间窗口内发生的事件变得简单。
排序选项
按任意字段升序或降序排序日志条目。默认按时间戳排序(最新优先)。
文本搜索
自由文本搜索框可匹配所有字段,允许您搜索特定的主机名、IP 地址、会员名或日志消息中的任何关键词。
权限
访问日志页面受以下权限控制:
| 权限 | 描述 |
|---|---|
LOG_VIEW |
访问日志页面所需的权限 |
LOG_DISPLAY_FULL |
允许查看完整的日志历史 |
LOG_DISPLAY_TODAY |
仅限查看今天的条目 |
LOG_DELETE |
允许删除日志条目 |
拥有 LOG_VIEW 和 LOG_DISPLAY_TODAY 权限的收银员可以查看今天的事件,但无法访问历史数据。只有拥有 LOG_DISPLAY_FULL 权限的用户才能浏览整个日志存档。
实时更新
新的日志事件会在发生时自动出现在查看器中。系统通过 TCP 事件连接监听日志事件,因此无需手动刷新页面。日志缓存通过减少滚动查看最近条目时的重复数据库查询来提高性能。