mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-12-11 14:53:49 +00:00
6a7de761f4
* vmalert: support logs suppressing during config reloads The change is mostly required for ENT version of vmalert, since it supports object-storage for config files. Reading data from object storage could be time-consuming, so vmalert emits logs to track the progress. However, these logs are mostly needed on start or on manual config reload. Printing these logs each time `rule.configCheckInterval` is triggered would too verbose. So the change allows to control logs emitting during config reloads. Now, logs are emitted during start up or when SIGHUP is receieved. For periodicall config checks logs emitted by config pkg are suppressed. Signed-off-by: hagen1778 <roman@victoriametrics.com> * vmalert: review fixes Signed-off-by: hagen1778 <roman@victoriametrics.com> --------- Signed-off-by: hagen1778 <roman@victoriametrics.com>
54 lines
950 B
Go
54 lines
950 B
Go
package log
|
|
|
|
import (
|
|
"bytes"
|
|
"fmt"
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/logger"
|
|
)
|
|
|
|
func TestOutput(t *testing.T) {
|
|
testOutput := &bytes.Buffer{}
|
|
logger.SetOutputForTests(testOutput)
|
|
defer logger.ResetOutputForTest()
|
|
|
|
log := &Logger{}
|
|
|
|
mustMatch := func(exp string) {
|
|
t.Helper()
|
|
if exp == "" {
|
|
if testOutput.String() != "" {
|
|
t.Errorf("expected output to be empty; got %q", testOutput.String())
|
|
return
|
|
}
|
|
}
|
|
if !strings.Contains(testOutput.String(), exp) {
|
|
t.Errorf("output %q should contain %q", testOutput.String(), exp)
|
|
}
|
|
fmt.Println(testOutput.String())
|
|
testOutput.Reset()
|
|
}
|
|
|
|
log.Warnf("foo")
|
|
mustMatch("foo")
|
|
|
|
log.Infof("info %d", 2)
|
|
mustMatch("info 2")
|
|
|
|
log.Errorf("error %s %d", "baz", 5)
|
|
mustMatch("error baz 5")
|
|
|
|
log.Suppress(true)
|
|
|
|
log.Warnf("foo")
|
|
mustMatch("")
|
|
|
|
log.Infof("info %d", 2)
|
|
mustMatch("")
|
|
|
|
log.Errorf("error %q %d", "baz", 5)
|
|
mustMatch("")
|
|
|
|
}
|