(ctx context.Context, messages []api.Message)
| 23 | } |
| 24 | |
| 25 | func (l *LoggingStrategy) Compact(ctx context.Context, messages []api.Message) ([]api.Message, error) { |
| 26 | before := messages |
| 27 | after, err := l.Inner.Compact(ctx, messages) |
| 28 | if err != nil { |
| 29 | return after, err |
| 30 | } |
| 31 | if len(after) == len(before) { |
| 32 | return after, nil |
| 33 | } |
| 34 | if l.FilePath == "" { |
| 35 | return after, nil |
| 36 | } |
| 37 | if writeErr := l.writeEvent(before, after); writeErr != nil { |
| 38 | fmt.Printf("compaction log write failed: %v\n", writeErr) |
| 39 | } |
| 40 | return after, nil |
| 41 | } |
| 42 | |
| 43 | func (l *LoggingStrategy) writeEvent(before, after []api.Message) error { |
| 44 | f, err := os.OpenFile(l.FilePath, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) |
nothing calls this directly
no test coverage detected