Skip to content

Commit 0442b15

Browse files
committed
fix: remove default case to allow goroutine to sleep
1 parent c2bd166 commit 0442b15

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

BaseLogger.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ work:
119119
func (logger *baseLogger) dispatcher() {
120120
defer logger.wg.Done()
121121
buffer := strings.Builder{}
122-
created := time.Now()
122+
autoFlush := time.NewTicker(time.Second)
123123
logger.wg.Add(1)
124124
go logger.worker()
125125
dispatch:
@@ -133,7 +133,6 @@ dispatch:
133133
buffer.WriteString(msg)
134134
logger.submitQueue <- buffer
135135
buffer = strings.Builder{}
136-
created = time.Now()
137136
}
138137
}
139138
case flush := <-logger.stop:
@@ -154,11 +153,10 @@ dispatch:
154153
}
155154
close(logger.submitQueue)
156155
break dispatch
157-
default:
158-
if buffer.Len() != 0 && time.Since(created) > time.Second {
156+
case <-autoFlush.C:
157+
if buffer.Len() != 0 {
159158
logger.submitQueue <- buffer
160159
buffer = strings.Builder{}
161-
created = time.Now()
162160
}
163161
}
164162
}

0 commit comments

Comments
 (0)