# Seqlog Web 演示 一个简单的 Web 应用,展示 Seqlog 的实际使用场景。 ## 功能 ### 后端模拟业务 - 每 2 秒自动生成业务日志 - 随机生成不同 topic(app、api、database、cache) - 随机生成不同操作(查询、插入、更新、删除、备份、恢复、同步等) - **随机日志大小**(2KB ~ 10MB): - 80% 小日志(2KB - 100KB) - 15% 中日志(100KB - 1MB) - 5% 大日志(1MB - 10MB) ### Web 查询界面 - 查看所有 topics - 查看每个 topic 的统计信息(显示实际字节数) - 查询日志(支持向前/向后翻页) - 实时自动刷新 - 日志状态标注(已处理/处理中/待处理) ## 快速启动 ```bash cd example/webapp go run main.go ``` 访问: http://localhost:8080 ## 使用说明 1. **选择 Topic**: 点击左侧的 topic 列表 2. **查看统计**: 左侧会显示该 topic 的统计信息(包括总字节数) 3. **查看日志**: 右侧显示日志内容,带状态标注 4. **刷新**: 点击"刷新日志"按钮或等待自动刷新 5. **翻页**: 使用"向前翻页"和"向后翻页"按钮 6. **自定义范围**: 修改显示范围的数字,控制查询条数 ## 界面说明 - **绿色边框**: 已处理的日志 - **黄色边框**: 正在处理的日志 - **灰色边框**: 待处理的日志 ## 性能测试 由于日志大小范围很大(2KB ~ 10MB),可以观察到: - 小日志处理速度很快 - 大日志会占用更多存储空间 - 统计信息会显示真实的字节数增长 ## API 接口 - `GET /api/topics` - 获取所有 topics - `GET /api/stats?topic=` - 获取统计信息 - `GET /api/query?topic=&backward=10&forward=10` - 查询日志 - `POST /api/write` - 手动写入日志 ## 技术栈 - 后端: Go + Seqlog - 前端: 原生 HTML/CSS/JavaScript - 无需额外依赖