github.com/Jeffail/benthos/v3@v3.65.0/public/service/logger_test.go (about)

     1  package service
     2  
     3  import (
     4  	"bytes"
     5  	"testing"
     6  
     7  	"github.com/Jeffail/benthos/v3/lib/log"
     8  	"github.com/stretchr/testify/assert"
     9  )
    10  
    11  func TestReverseAirGapLogger(t *testing.T) {
    12  	lConf := log.NewConfig()
    13  	lConf.AddTimeStamp = false
    14  
    15  	var buf bytes.Buffer
    16  	logger := log.New(&buf, lConf)
    17  
    18  	agLogger := newReverseAirGapLogger(logger)
    19  	agLogger2 := agLogger.With("field1", "value1", "field2", "value2")
    20  
    21  	agLogger.Debugf("foo: %v", "bar1")
    22  	agLogger.Infof("foo: %v", "bar2")
    23  
    24  	agLogger2.Debugf("foo2: %v", "bar1")
    25  	agLogger2.Infof("foo2: %v", "bar2")
    26  
    27  	agLogger.Warnf("foo: %v", "bar3")
    28  	agLogger.Errorf("foo: %v", "bar4")
    29  
    30  	agLogger2.Warnf("foo2: %v", "bar3")
    31  	agLogger2.Errorf("foo2: %v", "bar4")
    32  
    33  	assert.Equal(t, `{"@service":"benthos","component":"benthos","level":"INFO","message":"foo: bar2"}
    34  {"@service":"benthos","component":"benthos","field1":"value1","field2":"value2","level":"INFO","message":"foo2: bar2"}
    35  {"@service":"benthos","component":"benthos","level":"WARN","message":"foo: bar3"}
    36  {"@service":"benthos","component":"benthos","level":"ERROR","message":"foo: bar4"}
    37  {"@service":"benthos","component":"benthos","field1":"value1","field2":"value2","level":"WARN","message":"foo2: bar3"}
    38  {"@service":"benthos","component":"benthos","field1":"value1","field2":"value2","level":"ERROR","message":"foo2: bar4"}
    39  `, buf.String())
    40  }
    41  
    42  func TestReverseAirGapLoggerDodgyFields(t *testing.T) {
    43  	lConf := log.NewConfig()
    44  	lConf.AddTimeStamp = false
    45  
    46  	var buf bytes.Buffer
    47  	logger := log.New(&buf, lConf)
    48  
    49  	agLogger := newReverseAirGapLogger(logger)
    50  
    51  	agLogger.With("field1", "value1", "field2").Infof("foo1")
    52  	agLogger.With(10, 20).Infof("foo2")
    53  	agLogger.With("field3", 30).Infof("foo3")
    54  	agLogger.With("field4", "value4").With("field5", "value5").Infof("foo4")
    55  
    56  	assert.Equal(t, `{"@service":"benthos","component":"benthos","field1":"value1","level":"INFO","message":"foo1"}
    57  {"10":"20","@service":"benthos","component":"benthos","level":"INFO","message":"foo2"}
    58  {"@service":"benthos","component":"benthos","field3":"30","level":"INFO","message":"foo3"}
    59  {"@service":"benthos","component":"benthos","field4":"value4","field5":"value5","level":"INFO","message":"foo4"}
    60  `, buf.String())
    61  }