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  }