Skip to content

Commit e2f2d71

Browse files
fix: headless mode drain channel into buffer before reading
1 parent c3dca76 commit e2f2d71

1 file changed

Lines changed: 13 additions & 3 deletions

File tree

cmd/logt/headless.go

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,21 @@ import (
1414

1515
// runHeadless запускает headless режим (без TUI).
1616
func runHeadless(mp *provider.MultiProvider, cfg *config.Config) {
17-
// Ждём немного для чтения данных
18-
time.Sleep(100 * time.Millisecond)
17+
// Дрейним канал логов в буфер
18+
done := make(chan struct{})
19+
go func() {
20+
defer close(done)
21+
for logLine := range mp.LogChan() {
22+
mp.Buffer().Add(logLine)
23+
}
24+
}()
25+
26+
// Ждём чтения данных из файлов
27+
time.Sleep(500 * time.Millisecond)
1928

20-
// Закрываем провайдер
29+
// Закрываем провайдер — это закроет канал и завершит дрейн
2130
mp.Close()
31+
<-done
2232

2333
// Вывод статистики
2434
if cfg.Stats {

0 commit comments

Comments
 (0)