mirror of
https://github.com/Control-D-Inc/ctrld.git
synced 2026-02-03 22:18:39 +00:00
cmd/cli: make runtime log format better
By using more friendly markers to indicate the end of each log section, so it's easier to read/parse for both human and machine.
This commit is contained in:
committed by
Cuong Manh Le
parent
168eaf538b
commit
f57972ead7
@@ -20,8 +20,9 @@ const (
|
||||
logWriterSmallSize = 1024 * 1024 * 1 // 1 MB
|
||||
logWriterInitialSize = 32 * 1024 // 32 KB
|
||||
logSentInterval = time.Minute
|
||||
logTruncatedMarker = "...\n"
|
||||
logSeparator = "\n===\n\n"
|
||||
logStartEndMarker = "\n\n=== START_END ===\n\n"
|
||||
logLogEndMarker = "\n\n=== LOG_END ===\n\n"
|
||||
logWarnEndMarker = "\n\n=== WARN END ===\n\n"
|
||||
)
|
||||
|
||||
type logViewResponse struct {
|
||||
@@ -74,7 +75,7 @@ func (lw *logWriter) Write(p []byte) (int, error) {
|
||||
}
|
||||
lw.buf.Reset()
|
||||
lw.buf.Write(buf)
|
||||
lw.buf.WriteString(logTruncatedMarker) // indicate that the log was truncated.
|
||||
lw.buf.WriteString(logStartEndMarker) // indicate that the log was truncated.
|
||||
}
|
||||
// If p is bigger than buffer size, truncate p by half until its size is smaller.
|
||||
for len(p)+lw.buf.Len() > lw.size {
|
||||
@@ -157,7 +158,7 @@ func (p *prog) logReader() (*logReader, error) {
|
||||
wlwReader := bytes.NewReader(wlw.buf.Bytes())
|
||||
wlwSize := wlw.buf.Len()
|
||||
wlw.mu.Unlock()
|
||||
reader := io.MultiReader(lwReader, bytes.NewReader([]byte(logSeparator)), wlwReader)
|
||||
reader := io.MultiReader(lwReader, bytes.NewReader([]byte(logLogEndMarker)), wlwReader)
|
||||
lr := &logReader{r: io.NopCloser(reader)}
|
||||
lr.size = int64(lwSize + wlwSize)
|
||||
if lr.size == 0 {
|
||||
|
||||
@@ -16,7 +16,7 @@ func Test_logWriter_Write(t *testing.T) {
|
||||
t.Fatalf("unexpected buf content: %v", lw.buf.String())
|
||||
}
|
||||
newData := "B"
|
||||
halfData := strings.Repeat("A", len(data)/2) + logTruncatedMarker
|
||||
halfData := strings.Repeat("A", len(data)/2) + logStartEndMarker
|
||||
lw.Write([]byte(newData))
|
||||
if lw.buf.String() != halfData+newData {
|
||||
t.Fatalf("unexpected new buf content: %v", lw.buf.String())
|
||||
|
||||
Reference in New Issue
Block a user