periodic repair

This commit is contained in:
Ben Sarmiento
2024-01-27 14:14:11 +01:00
parent 05d2544fe8
commit a851282b2a
7 changed files with 97 additions and 19 deletions

View File

@@ -1,6 +1,7 @@
package logutil
import (
"bufio"
"bytes"
"fmt"
"io"
@@ -106,12 +107,25 @@ func (l *Logger) GetLogsFromFile() (string, error) {
}
defer file.Close()
var buffer bytes.Buffer
_, err = io.Copy(&buffer, file)
if err != nil {
const maxLines = 100000
var lines []string
scanner := bufio.NewScanner(file)
for scanner.Scan() {
lines = append(lines, scanner.Text())
if len(lines) > maxLines {
lines = lines[1:]
}
}
if err := scanner.Err(); err != nil {
return "", err
}
var buffer bytes.Buffer
for _, line := range lines {
buffer.WriteString(line + "\n")
}
return buffer.String(), nil
}