From c33b4dc5f6cf6b58beed749f94a9332ba3a96100 Mon Sep 17 00:00:00 2001 From: Caleb Doxsey Date: Wed, 19 Jul 2023 13:48:22 -0600 Subject: [PATCH] check level, add test --- internal/autocert/certmagic_logger.go | 3 +++ internal/autocert/certmagic_logger_test.go | 28 ++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 internal/autocert/certmagic_logger_test.go diff --git a/internal/autocert/certmagic_logger.go b/internal/autocert/certmagic_logger.go index 10671d8b7..1c6bcb8fe 100644 --- a/internal/autocert/certmagic_logger.go +++ b/internal/autocert/certmagic_logger.go @@ -23,6 +23,9 @@ func (c certMagicLoggerCore) With(fs []zapcore.Field) zapcore.Core { } func (c certMagicLoggerCore) Check(e zapcore.Entry, ce *zapcore.CheckedEntry) *zapcore.CheckedEntry { + if !c.Enabled(e.Level) { + return ce + } return ce.AddCore(e, c) } diff --git a/internal/autocert/certmagic_logger_test.go b/internal/autocert/certmagic_logger_test.go new file mode 100644 index 000000000..030b2e5f7 --- /dev/null +++ b/internal/autocert/certmagic_logger_test.go @@ -0,0 +1,28 @@ +package autocert + +import ( + "bytes" + "errors" + "testing" + + "github.com/stretchr/testify/assert" + "go.uber.org/zap" + "go.uber.org/zap/zapcore" +) + +func TestCertMagicLogger(t *testing.T) { + t.Parallel() + + encoder := zapcore.NewJSONEncoder(zap.NewProductionEncoderConfig()) + var buf bytes.Buffer + core := zapcore.NewCore(encoder, zapcore.AddSync(&buf), zapcore.DebugLevel) + core = certMagicLoggerCore{core: core} + + logger := zap.New(core) + + logger.Info("TEST", zap.Error(errors.New("no OCSP server specified in certificate"))) + assert.Empty(t, buf.Bytes()) + + logger.Info("TEST") + assert.NotEmpty(t, buf.Bytes()) +}