github.com/kubeshop/testkube@v1.17.23/pkg/log/log.go (about)

     1  package log
     2  
     3  import (
     4  	"log"
     5  
     6  	"go.uber.org/zap"
     7  
     8  	"github.com/kubeshop/testkube/pkg/envs"
     9  )
    10  
    11  // New returns new logger instance
    12  func New() *zap.SugaredLogger {
    13  	atomicLevel := zap.NewAtomicLevel()
    14  
    15  	atomicLevel.SetLevel(zap.InfoLevel)
    16  	if envs.IsTrue("DEBUG") {
    17  		atomicLevel.SetLevel(zap.DebugLevel)
    18  	}
    19  
    20  	zapCfg := zap.NewProductionConfig()
    21  	zapCfg.Level = atomicLevel
    22  
    23  	z, err := zapCfg.Build()
    24  	if err != nil {
    25  		log.Fatalf("can't initialize zap logger: %v", err)
    26  	}
    27  	logger := z.Sugar()
    28  	return logger
    29  }
    30  
    31  // DefaultLogger initialized default logger
    32  var DefaultLogger *zap.SugaredLogger
    33  
    34  func init() {
    35  	DefaultLogger = New()
    36  }