26 changed files with 111 additions and 100 deletions
@ -0,0 +1,30 @@ |
|||||||
|
package core |
||||||
|
|
||||||
|
import ( |
||||||
|
"sync" |
||||||
|
"time" |
||||||
|
|
||||||
|
"github.com/bluenviron/mediamtx/internal/logger" |
||||||
|
) |
||||||
|
|
||||||
|
type limitedLogger struct { |
||||||
|
w logger.Writer |
||||||
|
mutex sync.Mutex |
||||||
|
lastPrinted time.Time |
||||||
|
} |
||||||
|
|
||||||
|
func newLimitedLogger(w logger.Writer) *limitedLogger { |
||||||
|
return &limitedLogger{ |
||||||
|
w: w, |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
func (l *limitedLogger) Log(level logger.Level, format string, args ...interface{}) { |
||||||
|
now := time.Now() |
||||||
|
l.mutex.Lock() |
||||||
|
if now.Sub(l.lastPrinted) >= minIntervalBetweenWarnings { |
||||||
|
l.lastPrinted = now |
||||||
|
l.w.Log(level, format, args...) |
||||||
|
} |
||||||
|
l.mutex.Unlock() |
||||||
|
} |
Loading…
Reference in new issue