github.com/status-im/status-go@v1.1.0/logutils/logger.go (about)

     1  package logutils
     2  
     3  import (
     4  	"sync"
     5  
     6  	"go.uber.org/zap"
     7  
     8  	"github.com/ethereum/go-ethereum/log"
     9  )
    10  
    11  var (
    12  	_zapLogger     *zap.Logger
    13  	_initZapLogger sync.Once
    14  )
    15  
    16  // ZapLogger creates a custom zap.Logger which will forward logs
    17  // to status-go logger.
    18  func ZapLogger() *zap.Logger {
    19  	_initZapLogger.Do(func() {
    20  		var err error
    21  		_zapLogger, err = NewZapLoggerWithAdapter(log.Root())
    22  		if err != nil {
    23  			panic(err)
    24  		}
    25  	})
    26  	return _zapLogger
    27  }