github.com/hyperledger/burrow@v0.34.5-0.20220512172541-77f09336001d/logging/loggers/vector_valued_logger.go (about)

     1  // Copyright Monax Industries Limited
     2  // SPDX-License-Identifier: Apache-2.0
     3  
     4  package loggers
     5  
     6  import (
     7  	"github.com/go-kit/kit/log"
     8  	"github.com/hyperledger/burrow/logging/structure"
     9  )
    10  
    11  // Treat duplicate key-values as consecutive entries in a vector-valued lookup
    12  type vectorValuedLogger struct {
    13  	logger log.Logger
    14  }
    15  
    16  var _ log.Logger = &vectorValuedLogger{}
    17  
    18  func (vvl *vectorValuedLogger) Log(keyvals ...interface{}) error {
    19  	return vvl.logger.Log(structure.Vectorise(keyvals)...)
    20  }
    21  
    22  func VectorValuedLogger(logger log.Logger) *vectorValuedLogger {
    23  	return &vectorValuedLogger{logger: logger}
    24  }