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 }