github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/tm2/pkg/log/noop.go (about) 1 package log 2 3 import ( 4 "context" 5 "log/slog" 6 ) 7 8 // NewNoopLogger returns a new no-op logger 9 func NewNoopLogger() *slog.Logger { 10 return slog.New(newNoopHandler()) 11 } 12 13 type noopHandler struct{} 14 15 func newNoopHandler() *noopHandler { 16 return &noopHandler{} 17 } 18 19 func (n *noopHandler) Enabled(_ context.Context, _ slog.Level) bool { 20 return false 21 } 22 23 func (n *noopHandler) Handle(_ context.Context, _ slog.Record) error { 24 return nil 25 } 26 27 func (n *noopHandler) WithAttrs(_ []slog.Attr) slog.Handler { 28 return n 29 } 30 31 func (n *noopHandler) WithGroup(_ string) slog.Handler { 32 return n 33 }