重构:重命名核心组件并增强查询功能
主要更改: 1. 核心重命名 - Seqlog -> LogHub (更准确地反映其作为日志中枢的角色) - NewSeqlog() -> NewLogHub() - LogCursor -> ProcessCursor (更准确地反映其用于处理场景) - seqlog_manager.go -> loghub.go (文件名与结构体名对应) 2. TopicProcessor.Reset 增强 - 如果正在运行且没有待处理的日志,会自动停止后重置 - 如果有待处理的日志,返回详细错误(显示已处理/总记录数) - 简化了 LogHub.ResetTopic,移除显式 Stop 调用 3. 新增查询方法 - TopicProcessor.QueryFromFirst(count) - 从第一条记录向索引递增方向查询 - TopicProcessor.QueryFromLast(count) - 从最后一条记录向索引递减方向查询 - LogHub.QueryFromFirst(topic, count) - LogHub.QueryFromLast(topic, count) 4. 测试覆盖 - 添加 query_test.go - QueryFromProcessing 测试 - 添加 TestQueryFromFirstAndLast - TopicProcessor 查询测试 - 添加 TestLogHubQueryFromFirstAndLast - LogHub 查询测试 - 添加 TestTopicResetWithPendingRecords - Reset 增强功能测试 5. 示例代码 - 添加 example/get_record/ - 演示 QueryFromProcessing 用法 - 更新所有示例以使用 LogHub 和新 API 所有测试通过 ✅ 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -42,13 +42,13 @@ import "github.com/google/uuid"
|
||||
// tailer, _ := seqlog.NewTailer("app.log", handler, nil)
|
||||
// tailer.Start()
|
||||
//
|
||||
// // 使用 Seqlog 管理器(带 slog 支持和自动恢复)
|
||||
// // 使用 LogHub 管理器(带 slog 支持和自动恢复)
|
||||
// logger := slog.Default()
|
||||
// handler := func(topic string, rec *seqlog.Record) error {
|
||||
// fmt.Printf("[%s] %s\n", topic, string(rec.Data))
|
||||
// return nil
|
||||
// }
|
||||
// seq := seqlog.NewSeqlog("/tmp/logs", logger, handler)
|
||||
// seq := seqlog.NewLogHub("/tmp/logs", logger, handler)
|
||||
// seq.Start() // 自动发现并恢复已存在的日志文件
|
||||
// seq.Write("app", []byte("application log"))
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user